@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
   ========================================================================== */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
figcaption,
figure {
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 */
button {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

button,
[type=button],
[type=reset],
[type=submit] {
  /**
   * Remove the inner border and padding in Firefox.
   */
  /**
   * Restore the focus styles unset by the previous rule.
   */
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Show the overflow in Edge.
 */
input {
  overflow: visible;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
  /**
   * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
   */
}
[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  color: inherit; /* 2 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Add the correct display in IE 9-.
 */
menu {
  display: block;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64.0625em&xlarge=75em&xxlarge=81.25em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "Josefin Sans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

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

pre {
  overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media print, screen and (min-width: 48em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}
.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}
.row.expanded {
  max-width: none;
}
.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}
.row:not(.expanded) .row {
  max-width: none;
}
.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}
.row.is-collapse-child, .row.collapse > .column > .row, .row.collapse > .columns > .row {
  margin-right: 0;
  margin-left: 0;
}

.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0;
}
@media print, screen and (min-width: 48em) {
  .column, .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

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

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

.small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

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

.small-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

.small-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

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

.small-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

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

.small-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

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

.small-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

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

.small-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

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

.small-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

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

.small-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%;
}

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

.small-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

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

.small-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

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

.small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-1 > .column, .small-up-1 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-2 > .column, .small-up-2 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-3 > .column, .small-up-3 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-4 > .column, .small-up-4 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-5 > .column, .small-up-5 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  max-width: 20%;
}

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-6 > .column, .small-up-6 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-7 > .column, .small-up-7 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14.2857142857%;
          flex: 0 0 14.2857142857%;
  max-width: 14.2857142857%;
}

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-8 > .column, .small-up-8 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
  max-width: 12.5%;
}

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

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

@media print, screen and (min-width: 48em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 48em) {
  .row.medium-unstack > .column, .row.medium-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .large-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 64.0625em) and (min-width: 64.0625em) {
  .large-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 64.0625em) {
  .row.large-unstack > .column, .row.large-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%;
}

.column-block {
  margin-bottom: 1.25rem;
}
.column-block > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .column-block {
    margin-bottom: 1.875rem;
  }
  .column-block > :last-child {
    margin-bottom: 0;
  }
}

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.clearfix::after {
  clear: both;
}

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center;
}

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  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, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Josefin Sans", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 3rem;
  }
  h2, .h2 {
    font-size: 2.5rem;
  }
  h3, .h3 {
    font-size: 1.9375rem;
  }
  h4, .h4 {
    font-size: 1.5625rem;
  }
  h5, .h5 {
    font-size: 1.25rem;
  }
  h6, .h6 {
    font-size: 1rem;
  }
}
a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: #1468a0;
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

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

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

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a;
}
cite:before {
  content: "— ";
}

abbr, abbr[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

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

@media print, 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 print, screen and (min-width: 64.0625em) {
  .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;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #FFFFFF;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button:hover, .button:focus {
  background-color: #14679e;
  color: #FFFFFF;
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button.primary {
  background-color: #1779ba;
  color: #FFFFFF;
}
.button.primary:hover, .button.primary:focus {
  background-color: #126195;
  color: #FFFFFF;
}
.button.secondary {
  background-color: #767676;
  color: #000000;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: #5e5e5e;
  color: #000000;
}
.button.success {
  background-color: #3adb76;
  color: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #000000;
}
.button.warning {
  background-color: #ffae00;
  color: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: #cc8b00;
  color: #000000;
}
.button.alert {
  background-color: #cc4b37;
  color: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #000000;
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
  background-color: #1779ba;
  color: #FFFFFF;
}
.button.disabled.primary, .button[disabled].primary {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #1779ba;
  color: #FFFFFF;
}
.button.disabled.secondary, .button[disabled].secondary {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #767676;
  color: #000000;
}
.button.disabled.success, .button[disabled].success {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #3adb76;
  color: #000000;
}
.button.disabled.warning, .button[disabled].warning {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #ffae00;
  color: #000000;
}
.button.disabled.alert, .button[disabled].alert {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #cc4b37;
  color: #000000;
}
.button.hollow {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}
.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.hollow.primary {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.hollow.secondary {
  border: 1px solid #767676;
  color: #767676;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}
.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
  border: 1px solid #767676;
  color: #767676;
}
.button.hollow.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #157539;
  color: #157539;
}
.button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button.hollow.warning {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #805700;
  color: #805700;
}
.button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.hollow.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #67251a;
  color: #67251a;
}
.button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}
.button.clear {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.clear, .button.clear:hover, .button.clear:focus {
  background-color: transparent;
}
.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  background-color: transparent;
}
.button.clear:hover, .button.clear:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border-color: transparent;
}
.button.clear.primary {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border: 1px solid #1779ba;
  color: #1779ba;
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border-color: transparent;
}
.button.clear.secondary {
  border: 1px solid #767676;
  color: #767676;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}
.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border: 1px solid #767676;
  color: #767676;
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border-color: transparent;
}
.button.clear.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button.clear.success:hover, .button.clear.success:focus {
  border-color: #157539;
  color: #157539;
}
.button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border-color: transparent;
}
.button.clear.warning {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  border-color: #805700;
  color: #805700;
}
.button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border-color: transparent;
}
.button.clear.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  border-color: #67251a;
  color: #67251a;
}
.button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border-color: transparent;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #FFFFFF transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1em;
}
.button.dropdown.hollow::after {
  border-top-color: #1779ba;
}
.button.dropdown.hollow.primary::after {
  border-top-color: #1779ba;
}
.button.dropdown.hollow.secondary::after {
  border-top-color: #767676;
}
.button.dropdown.hollow.success::after {
  border-top-color: #3adb76;
}
.button.dropdown.hollow.warning::after {
  border-top-color: #ffae00;
}
.button.dropdown.hollow.alert::after {
  border-top-color: #cc4b37;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

a.button:hover, a.button:focus {
  text-decoration: none;
}

[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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #FFFFFF;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          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 {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

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

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #cacaca;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #cacaca;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #cacaca;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #cacaca;
}

input::placeholder,
textarea::placeholder {
  color: #cacaca;
}
input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

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

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

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

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

label > [type=checkbox],
label > [type=radio] {
  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: #000000;
}
label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

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

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.input-group > :first-child {
  border-radius: 0 0 0 0;
}
.input-group > :last-child > * {
  border-radius: 0 0 0 0;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label, .input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  height: auto;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb;
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #FFFFFF;
}
.badge.primary {
  background: #1779ba;
  color: #FFFFFF;
}
.badge.secondary {
  background: #767676;
  color: #000000;
}
.badge.success {
  background: #3adb76;
  color: #000000;
}
.badge.warning {
  background: #ffae00;
  color: #000000;
}
.badge.alert {
  background: #cc4b37;
  color: #000000;
}

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.button-group::before, .button-group::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.button-group::after {
  clear: both;
}
.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.6rem;
}
.button-group.small .button {
  font-size: 0.75rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.button-group.primary .button {
  background-color: #1779ba;
  color: #FFFFFF;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #126195;
  color: #FFFFFF;
}
.button-group.secondary .button {
  background-color: #767676;
  color: #000000;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: #5e5e5e;
  color: #000000;
}
.button-group.success .button {
  background-color: #3adb76;
  color: #000000;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #22bb5b;
  color: #000000;
}
.button-group.warning .button {
  background-color: #ffae00;
  color: #000000;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #cc8b00;
  color: #000000;
}
.button-group.alert .button {
  background-color: #cc4b37;
  color: #000000;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #a53b2a;
  color: #000000;
}
.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .button-group.stacked-for-medium .button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 47.9375em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: #d7ecfa;
  color: #000000;
}
.callout.secondary {
  background-color: #eaeaea;
  color: #000000;
}
.callout.success {
  background-color: #e1faea;
  color: #000000;
}
.callout.warning {
  background-color: #fff3d9;
  color: #000000;
}
.callout.alert {
  background-color: #f7e4e1;
  color: #000000;
}
.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;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
[data-whatinput=mouse] .menu li {
  outline: 0;
}
.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}
.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}
.menu input {
  display: inline-block;
}
.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu.simple li + li {
  margin-left: 1rem;
}
.menu.simple a {
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}
.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}
.menu.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}
.menu.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu .is-active > a {
  background: #1779ba;
  color: #FFFFFF;
}
.menu .active > a {
  background: #1779ba;
  color: #FFFFFF;
}
.menu.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right.vertical li {
  display: block;
  text-align: right;
}
.menu.align-right.vertical li .submenu li {
  text-align: right;
}
.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}
.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu-centered > .menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu-centered > .menu li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

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

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
.dropdown.menu a {
  padding: 0.7rem 1rem;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
.dropdown.menu.vertical > li > a::after {
  right: 14px;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
}
@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}
.is-dropdown-menu.vertical.align-right {
  float: right;
}

.is-dropdown-submenu-parent {
  position: relative;
}
.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}
.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}
.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}
.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #FFFFFF;
}
.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}
.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
}
.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}
.is-dropdown-submenu > li {
  width: 100%;
}
.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #FFFFFF;
}
.label.primary {
  background: #1779ba;
  color: #FFFFFF;
}
.label.secondary {
  background: #767676;
  color: #000000;
}
.label.success {
  background: #3adb76;
  color: #000000;
}
.label.warning {
  background: #ffae00;
  color: #000000;
}
.label.alert {
  background: #cc4b37;
  color: #000000;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

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

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

@media print, 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: 64em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

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

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

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

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

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0;
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

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

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn;
}
@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}
@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}

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

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * zurb_foundation.scss - Contains all Drupal-specific SASS for this theme.
 *
 * @todo Split this into multiple folders/files.
*/
.region-highlighted:empty {
  display: none;
}

.toolbar-tray a {
  font-size: 13px;
}

.toolbar .toolbar-toggle-orientation .toolbar-icon {
  margin: 0;
}
.toolbar .toolbar-toggle-orientation .toolbar-icon:before {
  min-height: 0;
}

.top-bar-section ul li {
  padding-top: 0;
}
.top-bar-section ul li a.is-active {
  color: #FFFFFF;
}

.no-js .top-bar {
  display: none;
}

@media screen and (min-width: 40em) {
  .no-js .top-bar {
    display: block;
  }
  .no-js .title-bar {
    display: none;
  }
}
body.toolbar-fixed .sticky.is-stuck .top-bar {
  margin-top: 39px;
}

body.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .sticky.is-stuck .top-bar {
  margin-top: 78px;
}

body.toolbar-fixed .sticky.is-stuck.is-at-top {
  margin-top: 0 !important;
}

.top-bar .menu-item--collapsed, .top-bar .menu-item--expanded {
  list-style: none;
}

.top-bar .search-block-form .form-item-keys, .top-bar .search-block-form .form-actions {
  display: inline-block;
}

.dropbutton-wrapper {
  background-color: #008CBA;
  margin: 0 0 1.25rem;
}
.dropbutton-wrapper .button {
  margin-bottom: 0;
  width: 100%;
  text-align: left;
}

.toolbar-menu {
  display: block;
}

@media screen and (max-width: 64em) {
  #toolbar-administration {
    display: none !important;
  }
  body.adminimal-admin-toolbar {
    margin-left: 0 !important;
    padding-top: 0 !important;
  }
}
@font-face {
  font-family: "cofa";
  src: url("../fonts/cofa/cofa.eot?22666787");
  src: url("../fonts/cofa/cofa.eot?22666787#iefix") format("embedded-opentype"), url("../fonts/cofa/cofa.woff2?22666787") format("woff2"), url("../fonts/cofa/cofa.woff?22666787") format("woff"), url("../fonts/cofa/cofa.ttf?22666787") format("truetype"), url("../fonts/cofa/cofa.svg?22666787#cofa") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=cf-]:before,
[class*=" cf-"]:before, footer .footer-social-menu ul.menu a.social-ln:before, footer .footer-social-menu ul.menu a.social-fb:before, .phoneMobileMenu > ul.menu > li:nth-child(4) > a:before, .phoneMobileMenu > ul.menu > li:nth-child(3) > a:before, .phoneMobileMenu > ul.menu > li:nth-child(2) > a:before, .phoneMobileMenu > ul.menu > li:nth-child(1) > a:before, header.topHeader .header-social-menu ul.menu a.social-ln:before, header.topHeader .header-social-menu ul.menu a.social-fb:before, .fancy-tl .fancybox-close-small:before, .paragraph--type--accordion-content > .field-name-field-titolo:after {
  font-family: "cofa";
  font-style: normal;
  font-weight: normal;
  speak: none;
  text-decoration: inherit;
  text-align: center;
  text-transform: none;
  line-height: 1em;
  display: inline-block;
  vertical-align: top;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cf-arrow-down:before {
  content: "\e800";
} /* '' */
.cf-arrow-left:before {
  content: "\e801";
} /* '' */
.cf-arrow-right:before {
  content: "\e802";
} /* '' */
.cf-chi-siamo:before {
  content: "\e803";
} /* '' */
.cf-facebook:before {
  content: "\e804";
} /* '' */
.cf-farmacie:before {
  content: "\e805";
} /* '' */
.cf-linkedin:before {
  content: "\e807";
} /* '' */
.cf-soci:before {
  content: "\e809";
} /* '' */
.cf-vantaggi:before {
  content: "\e80a";
} /* '' */
.cf-more:before {
  content: "\e80c";
} /* '' */
.cf-less:before {
  content: "\e80d";
} /* '' */
.cf-farmacia-baiamonti:before {
  content: "\e80e";
} /* '' */
.cf-farmacia-canonica:before {
  content: "\e80f";
} /* '' */
.cf-farmacia-colombo:before {
  content: "\e810";
} /* '' */
.cf-farmacia-duomo:before {
  content: "\e811";
} /* '' */
.cf-farmacia-lamarmora:before {
  content: "\e812";
} /* '' */
.cf-farmacia-lima:before {
  content: "\e813";
} /* '' */
.cf-farmacia-manzoni:before {
  content: "\e814";
} /* '' */
.cf-farmacia-pontaccio:before {
  content: "\e815";
} /* '' */
.cf-farmacia-santagnese:before {
  content: "\e816";
} /* '' */
.cf-farmacia-sempione:before {
  content: "\e817";
} /* '' */
.cf-farmacia-vercelli:before {
  content: "\e818";
} /* '' */
.cf-farmacia-vittoria:before {
  content: "\e819";
} /* '' */
.cf-select-close:before {
  content: "\e82d";
} /* '' */
.cf-select-open:before {
  content: "\e82e";
} /* '' */
#main.columns a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.row.fullWidth {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.row.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

body.stopOverflow {
  overflow-x: hidden;
}

body.stopOverflowY {
  overflow-y: hidden;
}

h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, p.red, span.red {
  color: #a31e35;
}

.button.red {
  background-color: #a31e35;
}

div#sliding-popup {
  background: #000000;
}
div#sliding-popup .eu-cookie-compliance-message {
  width: calc(100% - 220px);
  max-width: 100%;
  margin: 5px 0 0;
}
div#sliding-popup .eu-cookie-compliance-buttons {
  width: 220px;
  max-width: 100%;
  margin: 5px 0 0;
  text-align: right;
}
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-secondary-button,
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-default-button {
  margin: 1rem 0 0 0;
  padding: 0 8px;
  background: none;
  cursor: pointer;
  border: none;
  vertical-align: middle;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: "Josefin Sans", sans-serif;
  color: #FFFFFF;
  font-size: 1rem;
  line-height: 1.25rem;
  text-shadow: none;
}
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-secondary-button:hover,
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-default-button:hover {
  color: #be272e;
}
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-secondary-button {
  font-weight: 700;
}
div#sliding-popup .eu-cookie-compliance-buttons .eu-cookie-compliance-default-button {
  font-weight: 300;
}
@media screen and (max-width: 47.9375em) {
  div#sliding-popup .eu-cookie-compliance-message {
    width: 100%;
    margin: 10px 0;
  }
  div#sliding-popup .eu-cookie-compliance-buttons {
    width: 100%;
    margin: 0;
    text-align: center;
  }
}

.gm-style .gm-style-iw {
  padding: 0 !important;
  background: #FFFFFF !important;
  border-radius: 0 !important;
}

.gm-style .gm-style-iw-t:after {
  display: none !important;
}

.phInfoWin {
  padding: 20px 10px;
}
.phInfoWin h5 {
  margin: 0 0 10px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.phInfoWin p {
  margin: 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
}
.phInfoWin a {
  font-weight: 700;
  color: #a31e35;
}

*:focus {
  outline: 0 none;
}

.paragraph--type--riga-100,
.paragraph--type--riga-13-23,
.paragraph--type--riga-23-12 {
  margin-bottom: 40px;
}
@media screen and (max-width: 47.9375em) {
  .paragraph--type--riga-100,
  .paragraph--type--riga-13-23,
  .paragraph--type--riga-23-12 {
    margin-bottom: 20px;
  }
}

.paragraph--type--blocco-testo .field-paragraph--field-testo h2, .paragraph--type--blocco-testo .field-paragraph--field-testo h3, .paragraph--type--blocco-testo .field-paragraph--field-testo h4, .paragraph--type--blocco-testo .field-paragraph--field-testo h5,
.view-elenco-servizi article .field-name-field-abstract h2,
.view-elenco-servizi article .field-name-field-abstract h3,
.view-elenco-servizi article .field-name-field-abstract h4,
.view-elenco-servizi article .field-name-field-abstract h5,
.view-dettaglio-servizi article .servDetail h2,
.view-dettaglio-servizi article .servDetail h3,
.view-dettaglio-servizi article .servDetail h4,
.view-dettaglio-servizi article .servDetail h5,
article.content-area-accordion .areaAccDetail h2,
article.content-area-accordion .areaAccDetail h3,
article.content-area-accordion .areaAccDetail h4,
article.content-area-accordion .areaAccDetail h5,
.paragraph--type--timeline-container .field-name-field-testo h2,
.paragraph--type--timeline-container .field-name-field-testo h3,
.paragraph--type--timeline-container .field-name-field-testo h4,
.paragraph--type--timeline-container .field-name-field-testo h5 {
  font-weight: 700;
  color: #484747;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h2,
.view-elenco-servizi article .field-name-field-abstract h2,
.view-dettaglio-servizi article .servDetail h2,
article.content-area-accordion .areaAccDetail h2,
.paragraph--type--timeline-container .field-name-field-testo h2 {
  margin: 0 0 30px 0;
  font-size: 3.75rem;
  line-height: 4.375rem;
  letter-spacing: 2px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h3,
.view-elenco-servizi article .field-name-field-abstract h3,
.view-dettaglio-servizi article .servDetail h3,
article.content-area-accordion .areaAccDetail h3,
.paragraph--type--timeline-container .field-name-field-testo h3 {
  margin: 0 0 30px 0;
  font-size: 1.875rem;
  line-height: 2.5rem;
  letter-spacing: 2px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h4,
.view-elenco-servizi article .field-name-field-abstract h4,
.view-dettaglio-servizi article .servDetail h4,
article.content-area-accordion .areaAccDetail h4,
.paragraph--type--timeline-container .field-name-field-testo h4 {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.875rem;
  letter-spacing: 1px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h5,
.view-elenco-servizi article .field-name-field-abstract h5,
.view-dettaglio-servizi article .servDetail h5,
article.content-area-accordion .areaAccDetail h5,
.paragraph--type--timeline-container .field-name-field-testo h5 {
  margin: 0 0 20px 0;
  font-size: 1rem;
  line-height: 1.25rem;
  letter-spacing: 2px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h6,
.view-elenco-servizi article .field-name-field-abstract h6,
.view-dettaglio-servizi article .servDetail h6,
article.content-area-accordion .areaAccDetail h6,
.paragraph--type--timeline-container .field-name-field-testo h6 {
  margin: 0 0 20px 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #484747;
  letter-spacing: 2px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo p,
.view-elenco-servizi article .field-name-field-abstract p,
.view-dettaglio-servizi article .servDetail p,
article.content-area-accordion .areaAccDetail p,
.paragraph--type--timeline-container .field-name-field-testo p {
  margin: 0 0 20px 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #484747;
  letter-spacing: 1px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo p:last-of-type,
.view-elenco-servizi article .field-name-field-abstract p:last-of-type,
.view-dettaglio-servizi article .servDetail p:last-of-type,
article.content-area-accordion .areaAccDetail p:last-of-type,
.paragraph--type--timeline-container .field-name-field-testo p:last-of-type {
  margin: 0;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo strong, .paragraph--type--blocco-testo .field-paragraph--field-testo b,
.view-elenco-servizi article .field-name-field-abstract strong,
.view-elenco-servizi article .field-name-field-abstract b,
.view-dettaglio-servizi article .servDetail strong,
.view-dettaglio-servizi article .servDetail b,
article.content-area-accordion .areaAccDetail strong,
article.content-area-accordion .areaAccDetail b,
.paragraph--type--timeline-container .field-name-field-testo strong,
.paragraph--type--timeline-container .field-name-field-testo b {
  font-weight: 700;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo a,
.view-elenco-servizi article .field-name-field-abstract a,
.view-dettaglio-servizi article .servDetail a,
article.content-area-accordion .areaAccDetail a,
.paragraph--type--timeline-container .field-name-field-testo a {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #a31e35;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo a:hover,
.view-elenco-servizi article .field-name-field-abstract a:hover,
.view-dettaglio-servizi article .servDetail a:hover,
article.content-area-accordion .areaAccDetail a:hover,
.paragraph--type--timeline-container .field-name-field-testo a:hover {
  color: #be272e;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo ul,
.view-elenco-servizi article .field-name-field-abstract ul,
.view-dettaglio-servizi article .servDetail ul,
article.content-area-accordion .areaAccDetail ul,
.paragraph--type--timeline-container .field-name-field-testo ul {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 0;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo ul li,
.view-elenco-servizi article .field-name-field-abstract ul li,
.view-dettaglio-servizi article .servDetail ul li,
article.content-area-accordion .areaAccDetail ul li,
.paragraph--type--timeline-container .field-name-field-testo ul li {
  position: relative;
  margin: 0 0 10px 0;
  padding: 0 0 0 20px;
  list-style: none;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #484747;
  letter-spacing: 1px;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo ul li:before,
.view-elenco-servizi article .field-name-field-abstract ul li:before,
.view-dettaglio-servizi article .servDetail ul li:before,
article.content-area-accordion .areaAccDetail ul li:before,
.paragraph--type--timeline-container .field-name-field-testo ul li:before {
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  content: "•";
  font-size: 30px;
  line-height: 10px;
  color: #a31e35;
}
.paragraph--type--blocco-testo .field-paragraph--field-testo h1.red, .paragraph--type--blocco-testo .field-paragraph--field-testo h2.red, .paragraph--type--blocco-testo .field-paragraph--field-testo h3.red, .paragraph--type--blocco-testo .field-paragraph--field-testo h4.red, .paragraph--type--blocco-testo .field-paragraph--field-testo h5.red, .paragraph--type--blocco-testo .field-paragraph--field-testo h6.red, .paragraph--type--blocco-testo .field-paragraph--field-testo p.red, .paragraph--type--blocco-testo .field-paragraph--field-testo span.red,
.view-elenco-servizi article .field-name-field-abstract h1.red,
.view-elenco-servizi article .field-name-field-abstract h2.red,
.view-elenco-servizi article .field-name-field-abstract h3.red,
.view-elenco-servizi article .field-name-field-abstract h4.red,
.view-elenco-servizi article .field-name-field-abstract h5.red,
.view-elenco-servizi article .field-name-field-abstract h6.red,
.view-elenco-servizi article .field-name-field-abstract p.red,
.view-elenco-servizi article .field-name-field-abstract span.red,
.view-dettaglio-servizi article .servDetail h1.red,
.view-dettaglio-servizi article .servDetail h2.red,
.view-dettaglio-servizi article .servDetail h3.red,
.view-dettaglio-servizi article .servDetail h4.red,
.view-dettaglio-servizi article .servDetail h5.red,
.view-dettaglio-servizi article .servDetail h6.red,
.view-dettaglio-servizi article .servDetail p.red,
.view-dettaglio-servizi article .servDetail span.red,
article.content-area-accordion .areaAccDetail h1.red,
article.content-area-accordion .areaAccDetail h2.red,
article.content-area-accordion .areaAccDetail h3.red,
article.content-area-accordion .areaAccDetail h4.red,
article.content-area-accordion .areaAccDetail h5.red,
article.content-area-accordion .areaAccDetail h6.red,
article.content-area-accordion .areaAccDetail p.red,
article.content-area-accordion .areaAccDetail span.red,
.paragraph--type--timeline-container .field-name-field-testo h1.red,
.paragraph--type--timeline-container .field-name-field-testo h2.red,
.paragraph--type--timeline-container .field-name-field-testo h3.red,
.paragraph--type--timeline-container .field-name-field-testo h4.red,
.paragraph--type--timeline-container .field-name-field-testo h5.red,
.paragraph--type--timeline-container .field-name-field-testo h6.red,
.paragraph--type--timeline-container .field-name-field-testo p.red,
.paragraph--type--timeline-container .field-name-field-testo span.red {
  color: #a31e35;
}
@media screen and (max-width: 47.9375em) {
  .paragraph--type--blocco-testo .field-paragraph--field-testo h2,
  .view-elenco-servizi article .field-name-field-abstract h2,
  .view-dettaglio-servizi article .servDetail h2,
  article.content-area-accordion .areaAccDetail h2,
  .paragraph--type--timeline-container .field-name-field-testo h2 {
    margin: 0 0 30px 0;
    font-size: 2.5rem;
    line-height: 3.125rem;
  }
  .paragraph--type--blocco-testo .field-paragraph--field-testo h3,
  .view-elenco-servizi article .field-name-field-abstract h3,
  .view-dettaglio-servizi article .servDetail h3,
  article.content-area-accordion .areaAccDetail h3,
  .paragraph--type--timeline-container .field-name-field-testo h3 {
    font-size: 1.625rem;
    line-height: 2.25rem;
  }
}

.paragraph--type--blocco-immagine .field-paragraph--field-immagine img {
  display: inline-block;
  vertical-align: top;
}
.paragraph--type--blocco-immagine .blkImage.full_size img {
  width: 100%;
  height: auto;
}
.paragraph--type--blocco-immagine .blkImage.left .field-item {
  text-align: left;
}
.paragraph--type--blocco-immagine .blkImage.center .field-item {
  text-align: center;
}
.paragraph--type--blocco-immagine .blkImage.right .field-item {
  text-align: right;
}

.paragraph--type--timeline-container {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
  overflow: hidden;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item {
  position: relative;
}
.paragraph--type--timeline-container .tlElement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  margin-top: -41px;
}
.paragraph--type--timeline-container .colLeft, .paragraph--type--timeline-container .colRight {
  position: relative;
}
.paragraph--type--timeline-container .colCover {
  position: relative;
  -ms-flex-preferred-size: 250px;
      flex-basis: 250px;
  height: 300px;
}
.paragraph--type--timeline-container .colCover:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.paragraph--type--timeline-container .colWrp {
  height: 200px;
  margin-top: 50px;
  overflow-x: hidden;
  overflow-y: scroll;
}
.paragraph--type--timeline-container .vMe {
  position: relative;
}
.paragraph--type--timeline-container .field-name-field-immagine {
  position: relative;
  width: 200px;
  margin: 50px auto;
}
.paragraph--type--timeline-container .field-name-field-immagine .field-item {
  width: 100%;
  border-radius: 100%;
  overflow: hidden;
}
.paragraph--type--timeline-container .field-name-field-immagine img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: top;
}
.paragraph--type--timeline-container .field-name-field-anno {
  display: block;
  width: 100%;
  font-weight: 700;
  font-size: 3.75rem;
  line-height: 3.75rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 4px;
}
.paragraph--type--timeline-container .field-name-field-titolo {
  display: block;
  width: 100%;
  font-weight: 700;
  font-weight: 1.25rem;
  line-height: 1.375rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.paragraph--type--timeline-container .field-name-field-testo {
  display: block;
  width: 100%;
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colCover:before {
  background-image: url("../images/timeline-curve-left.svg");
  background-position: top left;
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colLeft {
  -ms-flex-preferred-size: calc(50% - 150px);
      flex-basis: calc(50% - 150px);
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colLeft .colWrp {
  padding-right: 70px;
  text-align: right;
  overflow: hidden;
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colLeft .vMe {
  position: relative;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colRight {
  -ms-flex-preferred-size: calc(50% - 100px);
      flex-basis: calc(50% - 100px);
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .colRight .colWrp {
  padding-left: 20px;
  padding-right: 20px;
  text-align: left;
}
.paragraph--type--timeline-container .tlElement.yearOnLeft .field-name-field-immagine {
  margin: 50px 0 0 50px;
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colCover:before {
  background-image: url("../images/timeline-curve-right.svg");
  background-position: top right;
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colRight {
  -ms-flex-preferred-size: calc(50% - 150px);
      flex-basis: calc(50% - 150px);
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colRight .colWrp {
  padding-left: 70px;
  text-align: left;
  overflow: hidden;
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colRight .vMe {
  position: relative;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colLeft {
  -ms-flex-preferred-size: calc(50% - 100px);
      flex-basis: calc(50% - 100px);
}
.paragraph--type--timeline-container .tlElement.yearOnRight .colLeft .colWrp {
  padding-right: 20px;
  text-align: right;
}
.paragraph--type--timeline-container .tlElement.yearOnRight .field-name-field-immagine {
  margin: 50px 50px 0 0;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:first-of-type:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 41px;
  background: #a31e35;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:first-of-type .tlElement {
  margin-top: 0;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 50%;
  height: 41px;
  background: #a31e35;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type.itm-even:before {
  left: 0;
}
.paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type.itm-odd:before {
  left: 50%;
}
@media screen and (min-width: 64.0625em) and (max-width: 74.9375em) {
  .paragraph--type--timeline-container .field-name-field-testo p {
    font-size: 0.9375rem;
    line-height: 1.125rem;
  }
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  .paragraph--type--timeline-container .tlElement {
    margin-top: -50px;
  }
  .paragraph--type--timeline-container .colCover {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .paragraph--type--timeline-container .colLeft, .paragraph--type--timeline-container .colRight {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-flex-preferred-size: calc(100% - 100px) !important;
        flex-basis: calc(100% - 100px) !important;
  }
  .paragraph--type--timeline-container .colWrp {
    text-align: left !important;
    padding: 0 20px !important;
  }
  .paragraph--type--timeline-container .field-name-field-anno {
    font-size: 1.875rem;
    line-height: 1.875rem;
  }
  .paragraph--type--timeline-container .field-name-field-anno br {
    display: none;
  }
  .paragraph--type--timeline-container .field-name-field-titolo {
    font-weight: 1.125rem;
    line-height: 1.25rem;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:first-of-type:before {
    width: 100px;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type:before {
    width: 100px;
  }
}
@media screen and (max-width: 47.9375em) {
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item {
    height: 175px;
  }
  .paragraph--type--timeline-container .tlElement {
    margin-top: -50px;
  }
  .paragraph--type--timeline-container .colCover {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
    height: 150px;
  }
  .paragraph--type--timeline-container .colLeft, .paragraph--type--timeline-container .colRight {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-flex-preferred-size: calc(100% - 100px) !important;
        flex-basis: calc(100% - 100px) !important;
  }
  .paragraph--type--timeline-container .colWrp {
    height: 150px;
    margin-top: 0;
    padding: 0 0 0 20px !important;
    text-align: left !important;
  }
  .paragraph--type--timeline-container .vMe {
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .paragraph--type--timeline-container .field-name-field-immagine {
    width: 100px;
  }
  .paragraph--type--timeline-container .field-name-field-anno {
    display: inline-block;
    width: auto;
    font-size: 1.25rem;
    line-height: 1.25rem;
  }
  .paragraph--type--timeline-container .field-name-field-titolo {
    display: none !important;
  }
  .paragraph--type--timeline-container .field-name-field-testo {
    display: none !important;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:first-of-type:before {
    top: 0;
    width: 52px;
    height: 21px;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type:before {
    bottom: 25px;
    width: 52px;
    height: 21px;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type.itm-even:before {
    left: 0%;
  }
  .paragraph--type--timeline-container .field-name-field-eventi > .field-items > .field-item:last-of-type.itm-odd:before {
    left: 20%;
  }
  .paragraph--type--timeline-container .tlElement.yearOnLeft .field-name-field-immagine {
    margin: 25px 0 0 25px;
  }
  .paragraph--type--timeline-container .tlElement.yearOnRight .field-name-field-immagine {
    margin: 25px 25px 0 0;
  }
}

.paragraph--type--blocco-files {
  position: relative;
  width: 100%;
}
.paragraph--type--blocco-files .field-paragraph--field-allegato .field-item {
  display: block;
  width: 100%;
  margin: 0 0 10px 0;
}
.paragraph--type--blocco-files .field-paragraph--field-allegato .field-item a {
  display: inline-block;
  vertical-align: top;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #a31e35;
}
.paragraph--type--blocco-files .field-paragraph--field-allegato .field-item a:hover {
  color: #484747;
}

.paragraph--type--blocco-partner {
  position: relative;
  width: 100%;
}
.paragraph--type--blocco-partner .partnerTitle {
  margin: 0 0 20px 0;
}
.paragraph--type--blocco-partner .partnerTitle a, .paragraph--type--blocco-partner .partnerTitle span {
  display: inline-block;
  vertical-align: top;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #a31e35;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.paragraph--type--blocco-partner .partnerCover {
  margin: 0 0 20px 0;
}
.paragraph--type--blocco-partner .partnerCover a, .paragraph--type--blocco-partner .partnerCover img {
  display: inline-block;
  vertical-align: top;
}
.paragraph--type--blocco-partner .field-name-field-testo p {
  margin: 0 0 10px 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
}
.paragraph--type--blocco-partner .field-name-field-testo p:last-of-type {
  margin: 0;
}
@media screen and (max-width: 47.9375em) {
  .paragraph--type--blocco-partner .partnerTitle a, .paragraph--type--blocco-partner .partnerTitle span {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
}

.paragraph--type--accordion-container {
  position: relative;
  width: 100%;
}

.paragraph--type--accordion-content {
  position: relative;
  width: 100%;
}
.paragraph--type--accordion-content > .field-name-field-titolo {
  position: relative;
  width: 100%;
  padding: 20px 70px 20px 0;
  border-top: 2px solid #be272e;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #484747;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.paragraph--type--accordion-content > .field-name-field-titolo:after {
  content: "\e80c";
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 20px;
  line-height: 20px;
  color: #be272e;
}
.paragraph--type--accordion-content > .field-name-field-titolo.opened:after {
  content: "\e80d";
}
.paragraph--type--accordion-content > .field-name-field-elementi {
  display: none;
}
.paragraph--type--accordion-content > .field-name-field-elementi > .field-items > .field-item {
  position: relative;
  width: 100%;
  margin: 0 0 20px 0;
}
.paragraph--type--accordion-content > .field-name-field-elementi > .field-items > .field-item:last-of-type {
  margin: 0;
}
@media screen and (max-width: 47.9375em) {
  .paragraph--type--accordion-content > .field-name-field-titolo {
    padding: 10px 50px 10px 0;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
  .paragraph--type--accordion-content > .field-name-field-titolo:after {
    right: 20px;
    font-size: 16px;
    line-height: 16px;
  }
}

.fancy-tl .fancybox-bg {
  background: rgba(163, 30, 53, 0.5);
}
.fancy-tl .fancybox-content {
  padding: 40px 20px 20px 20px;
}
.fancy-tl .fancybox-close-small {
  top: 5px;
  left: 15px;
  right: auto;
  padding: 0;
  width: 30px;
  height: 30px;
}
.fancy-tl .fancybox-close-small svg {
  display: none !important;
}
.fancy-tl .fancybox-close-small:before {
  content: "\e80c";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  font-size: 20px;
  line-height: 20px;
  color: #a31e35;
}
.fancy-tl .field-name-field-anno {
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.4375rem;
  color: #484747;
  text-transform: uppercase;
}
.fancy-tl .field-name-field-anno br {
  display: none;
}
.fancy-tl .field-name-field-titolo {
  display: block !important;
  margin: 0 0 20px 0;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #484747;
  text-transform: uppercase;
}
.fancy-tl .field-name-field-testo {
  display: block !important;
}
.fancy-tl .field-name-field-testo p {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 0.9375rem;
  color: #484747;
}

.appWrapper {
  display: block;
  width: 100%;
  font-size: 0;
  text-align: center;
}
.appWrapper a {
  display: block;
  float: left;
  width: calc(50% - 5px);
  vertical-align: top;
}
.appWrapper a:first-of-type {
  margin-right: 5px;
}
.appWrapper a:last-of-type {
  margin-left: 5px;
}
.appWrapper img {
  display: inline-block;
  width: 100%;
  vertical-align: top;
}
@media screen and (max-width: 47.9375em) {
  .appWrapper a {
    width: 100%;
  }
  .appWrapper a:first-of-type {
    margin: 0 0 5px 0;
  }
  .appWrapper a:last-of-type {
    margin: 5px 0 0 0;
  }
}

header.topHeader {
  position: relative;
  height: 110px;
  z-index: 2;
}
header.topHeader a.logo {
  display: inline-block;
  width: 300px;
  height: 110px;
  vertical-align: top;
  background: #a31e35;
  text-align: center;
}
header.topHeader a.logo img {
  display: inline-block;
  position: relative;
  top: 50%;
  width: 240px;
  height: auto;
  vertical-align: top;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
header.topHeader .header-social-menu ul.menu {
  font-size: 0;
}
header.topHeader .header-social-menu ul.menu a {
  display: inline-block;
  padding: 0;
  vertical-align: top;
  color: #FFFFFF;
}
header.topHeader .header-social-menu ul.menu a:before {
  font-size: 18px;
  line-height: 18px;
}
header.topHeader .header-social-menu ul.menu a.social-fb {
  margin-right: 10px;
}
header.topHeader .header-social-menu ul.menu a.social-fb:before {
  content: "\e804";
}
header.topHeader .header-social-menu ul.menu a.social-ln {
  margin-left: 10px;
}
header.topHeader .header-social-menu ul.menu a.social-ln:before {
  content: "\e807";
}
header.topHeader .header-main-menu {
  position: static;
}
header.topHeader .header-main-menu .menu.dropdown.expanded {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0;
  position: initial;
}
header.topHeader .header-main-menu .menu.dropdown.expanded > li {
  height: 110px;
}
header.topHeader .header-main-menu .menu.dropdown.expanded > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 0 20px 0 30px !important;
  background: transparent;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 0.9375rem;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 3px;
}
header.topHeader .header-main-menu .menu.dropdown.expanded > li > a:after {
  display: none !important;
}
header.topHeader .header-main-menu .menu.dropdown.expanded > li > a:hover {
  background: #a31e35;
}
header.topHeader .header-main-menu .menu.dropdown.expanded > li.is-active > a {
  background: #a31e35;
}
header.topHeader .header-main-menu .menu.submenu {
  width: 100%;
  min-width: 20px;
  background: #a31e35;
  border: none;
  z-index: 5;
}
header.topHeader .header-main-menu .menu.submenu > li {
  display: block;
  margin: 0;
}
header.topHeader .header-main-menu .menu.submenu > li > a {
  display: block;
  margin: 10px 0;
  padding: 0 20px;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.25rem;
  color: #FFFFFF;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li:not(.megamenu) {
  position: relative;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu {
  position: static;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu {
  position: absolute;
  top: 110px;
  left: 50%;
  width: 100%;
  max-width: 75rem;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu:before {
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  width: 150vw;
  height: 100%;
  background: #a31e35;
  z-index: 0;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu .megawrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  width: 100%;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  padding: 35px 45px;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.25rem;
  color: #FFFFFF;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a:before {
  margin-right: 20px;
  font-size: 60px;
  line-height: 60px;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li.mobileMainPage {
  display: none;
  padding: 20px 45px 0px 45px;
}
header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li.mobileMainPage a {
  display: block !important;
  margin: 0;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media screen and (min-width: 64.0625em) and (max-width: 74.9375em) {
  header.topHeader .header-main-menu .menu.dropdown.expanded > li > a {
    padding: 0 15px !important;
  }
  header.topHeader .header-main-menu .menu.submenu > li > a {
    font-size: 1rem;
    line-height: 1.125rem;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li {
    padding: 25px 30px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a {
    font-size: 1rem;
    line-height: 1.125rem;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a:before {
    font-size: 50px;
    line-height: 50px;
  }
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  header.topHeader {
    height: 90px;
  }
  header.topHeader a.logo {
    width: 200px;
    height: 90px;
  }
  header.topHeader a.logo img {
    width: 160px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded > li {
    height: 90px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded > li > a {
    padding: 0 10px !important;
    font-size: 0.875rem;
    line-height: 1rem;
    letter-spacing: 1px;
  }
  header.topHeader .header-main-menu .menu.submenu > li > a {
    padding: 0 10px;
    font-size: 1rem;
    line-height: 1.125rem;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu {
    top: 90px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    padding: 35px 45px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a {
    font-size: 1rem;
    line-height: 1.125rem;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu a:before {
    margin-right: 10px;
    font-size: 40px;
    line-height: 40px;
  }
  header.topHeader .header-main-menu .menu.dropdown.expanded li.megamenu .menu.submenu li.mobileMainPage {
    display: block;
  }
}
@media screen and (max-width: 47.9375em) {
  header.topHeader {
    height: 60px;
    background: #a31e35;
  }
  header.topHeader > .row.align-middle {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  header.topHeader a.logo {
    width: 130px;
    height: 60px;
  }
  header.topHeader a.logo img {
    width: 130px;
  }
  header.topHeader .header-social-menu ul.menu a:before {
    font-size: 18px;
    line-height: 18px;
  }
}

.phoneMobileMenu {
  display: none !important;
  position: relative;
  width: 100%;
  height: 70px;
  background: #a31e35;
}
@media screen and (max-width: 47.9375em) {
  .phoneMobileMenu {
    display: block !important;
  }
}
.phoneMobileMenu > ul.menu {
  position: relative;
  display: block;
  font-size: 0;
}
.phoneMobileMenu > ul.menu > li {
  position: initial;
  display: inline-block;
  width: 25%;
  height: 70px;
  vertical-align: top;
}
.phoneMobileMenu > ul.menu > li > a {
  position: relative;
  display: block;
  height: 100%;
  padding: 10px !important;
  background: transparent;
  vertical-align: top;
  font-weight: 400;
  font-size: 0.625rem;
  line-height: 0.75rem;
  color: #FFFFFF;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 1px;
}
.phoneMobileMenu > ul.menu > li > a:before {
  display: block !important;
  margin: 0 0 10px 0;
  font-size: 20px !important;
  line-height: 20px !important;
}
.phoneMobileMenu > ul.menu > li:nth-child(1) > a:before {
  content: "\e803";
}
.phoneMobileMenu > ul.menu > li:nth-child(2) > a:before {
  content: "\e805";
}
.phoneMobileMenu > ul.menu > li:nth-child(3) > a:before {
  content: "\e80c";
}
.phoneMobileMenu > ul.menu > li:nth-child(4) > a:before {
  content: "\e809";
}
.phoneMobileMenu > ul.menu > li.is-active > a {
  background: #a31e35;
}
.phoneMobileMenu .menu.submenu {
  position: absolute;
  top: auto;
  bottom: 70px;
  left: 0;
  width: 100vw;
  margin: 0;
  padding: 10px;
  background: #a31e35;
  border: none;
  z-index: 5;
}
.phoneMobileMenu .menu.submenu > li {
  display: block;
  margin: 0;
}
.phoneMobileMenu .menu.submenu > li > a {
  display: block;
  margin: 10px 0;
  padding: 0 20px;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.25rem;
  color: #FFFFFF;
}
.phoneMobileMenu li.megamenu .mobileMainPage {
  padding: 0;
}
.phoneMobileMenu li.megamenu .mobileMainPage a {
  margin: 0;
  padding: 0 10px;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.phoneMobileMenu li.megamenu .megawrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.phoneMobileMenu li.megamenu li {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  padding: 10px;
}
.phoneMobileMenu li.megamenu a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  margin: 0;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 0.875rem;
  color: #FFFFFF;
}
.phoneMobileMenu li.megamenu a:before {
  margin-right: 15px;
  font-size: 30px;
  line-height: 30px;
}

body.header-type-simple header.topHeader {
  background: #a31e35;
}

article.content-farmacia .farmaciaIntro .colOrari,
article.content-farmacia-teaser .farmaciaIntro .colOrari {
  position: relative;
  color: #FFFFFF;
}
article.content-farmacia .farmaciaIntro .colOrari .colWrp,
article.content-farmacia-teaser .farmaciaIntro .colOrari .colWrp {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 80px;
  background: #a31e35;
}
article.content-farmacia .farmaciaIntro .colOrari h3,
article.content-farmacia-teaser .farmaciaIntro .colOrari h3 {
  margin: 0 0 30px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.375rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-turno,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-turno {
  margin: 0 0 40px 0;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-turno p,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-turno p {
  margin: 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-turno strong,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-turno strong {
  font-weight: 700;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario {
  margin: 0 0 40px 0;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .orariTxt,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .orariTxt {
  position: relative;
  width: 100%;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt {
  display: inline-block;
  width: 10%;
  min-width: 130px;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.625rem;
  text-transform: uppercase;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt {
  display: inline-block;
  vertical-align: top;
  font-weight: 300;
  font-size: 0.8125rem;
  line-height: 1.625rem;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura {
  margin: 0 0 40px 0;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura p,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura p {
  margin: 0;
  font-weight: 300;
  font-size: 0.8125rem;
  line-height: 1.625rem;
}
article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura strong,
article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura strong {
  display: inline-block;
  width: 10%;
  min-width: 170px;
  vertical-align: top;
  font-weight: 700;
  text-transform: uppercase;
}
article.content-farmacia .farmaciaIntro .colContatti,
article.content-farmacia-teaser .farmaciaIntro .colContatti {
  position: relative;
}
article.content-farmacia .farmaciaIntro .colContatti .farmaciaMap,
article.content-farmacia-teaser .farmaciaIntro .colContatti .farmaciaMap {
  position: relative;
  width: 100%;
  height: 260px;
  background: #DDD;
}
article.content-farmacia .farmaciaIntro .colContatti .colWrp,
article.content-farmacia-teaser .farmaciaIntro .colContatti .colWrp {
  position: relative;
  width: 100%;
  padding: 15px 30px 60px 30px;
}
article.content-farmacia .farmaciaIntro .colContatti h3,
article.content-farmacia-teaser .farmaciaIntro .colContatti h3 {
  margin: 0 0 20px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #a31e35;
  letter-spacing: 2px;
  text-transform: uppercase;
}
article.content-farmacia .farmaciaIntro .colContatti p,
article.content-farmacia-teaser .farmaciaIntro .colContatti p {
  margin: 0;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
}
article.content-farmacia .farmaciaIntro .colContatti a, article.content-farmacia .farmaciaIntro .colContatti strong,
article.content-farmacia-teaser .farmaciaIntro .colContatti a,
article.content-farmacia-teaser .farmaciaIntro .colContatti strong {
  font-weight: 700;
  color: #a31e35;
}
article.content-farmacia .farmaciaIntro .colContatti a:hover,
article.content-farmacia-teaser .farmaciaIntro .colContatti a:hover {
  color: #be272e;
}
article.content-farmacia .farmaciaIntro .colContatti .field-name-field-ph-contatto-custom,
article.content-farmacia-teaser .farmaciaIntro .colContatti .field-name-field-ph-contatto-custom {
  margin: 25px 0 0 0;
}
article.content-farmacia .farmaciaIntro .colContatti .mailCnt,
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  text-align: center;
}
article.content-farmacia .farmaciaIntro .colContatti .mailCnt a,
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a {
  display: inline-block;
  padding: 10px 45px;
  background: #a31e35;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 0.8125rem;
  color: #FFFFFF;
  text-transform: uppercase;
}
article.content-farmacia .farmaciaIntro .colContatti .mailCnt a:hover,
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a:hover {
  background: #be272e;
}
article.content-farmacia .farmaciaIntro .colContatti .mailCnt a.linkMore,
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a.linkMore {
  display: none;
  height: 46px;
  padding: 0 45px;
  line-height: 2.875rem;
}
article.content-farmacia .farmaciaServizi,
article.content-farmacia-teaser .farmaciaServizi {
  margin-top: 80px;
}
article.content-farmacia .farmaciaCassettoTitolo h4,
article.content-farmacia-teaser .farmaciaCassettoTitolo h4 {
  margin: 40px 0 0 0;
  font-weight: 700;
  font-size: 2.875rem;
  line-height: 3.125rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 2px;
}
article.content-farmacia .farmaciaCassettoTitolo .field-name-field-header-subtitle,
article.content-farmacia-teaser .farmaciaCassettoTitolo .field-name-field-header-subtitle {
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-farmacia .farmaciaCassettoTitolo span.cf-more,
article.content-farmacia-teaser .farmaciaCassettoTitolo span.cf-more {
  display: inline-block;
  vertical-align: top;
}
article.content-farmacia .farmaciaCassettoTitolo span.cf-more:before,
article.content-farmacia-teaser .farmaciaCassettoTitolo span.cf-more:before {
  font-size: 40px;
  line-height: 40px;
  color: #a31e35;
}
article.content-farmacia .farmaciaCassettoTitolo span.frmIco,
article.content-farmacia-teaser .farmaciaCassettoTitolo span.frmIco {
  display: inline-block;
  vertical-align: top;
}
article.content-farmacia .farmaciaCassettoTitolo span.frmIco:before,
article.content-farmacia-teaser .farmaciaCassettoTitolo span.frmIco:before {
  font-size: 55px;
  line-height: 55px;
  color: #a31e35;
}
article.content-farmacia .farmaciaCassettoTitolo.opened span.cf-more:before,
article.content-farmacia-teaser .farmaciaCassettoTitolo.opened span.cf-more:before {
  content: "\e80d";
}
article.content-farmacia .farmaciaCassettoContent,
article.content-farmacia-teaser .farmaciaCassettoContent {
  display: none;
  margin: 30px 0px;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-farmacia .farmaciaIntro .colOrari .colWrp,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .colWrp {
    padding: 20px;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt {
    min-width: 100px;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt {
    float: right;
  }
  article.content-farmacia .farmaciaIntro .colContatti .colWrp,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .colWrp {
    padding: 15px 15px 60px 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-farmacia .farmaciaIntro .colOrari .colWrp,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .colWrp {
    padding: 40px 20px 60px 20px;
  }
  article.content-farmacia .farmaciaIntro .colOrari h3,
  article.content-farmacia-teaser .farmaciaIntro .colOrari h3 {
    margin: 0 0 15px 0;
    font-size: 0.875rem;
    line-height: 1.125rem;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-turno,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-turno {
    margin: 0 0 20px 0;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-turno p,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-turno p {
    font-size: 0.6875rem;
    line-height: 0.875rem;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario {
    margin: 0 0 20px 0;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .dayTxt {
    width: auto;
    min-width: 50px;
    font-size: 0.6875rem;
    line-height: 1.25rem;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-orario .timesTxt {
    float: right;
    font-size: 0.6875rem;
    line-height: 1.25rem;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura {
    margin: 0 0 20px 0;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura p,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura p {
    font-size: 0.6875rem;
    line-height: 1.25rem;
  }
  article.content-farmacia .farmaciaIntro .colOrari .field-name-field-ph-chiusura strong,
  article.content-farmacia-teaser .farmaciaIntro .colOrari .field-name-field-ph-chiusura strong {
    min-width: 150px;
  }
  article.content-farmacia .farmaciaIntro .colContatti,
  article.content-farmacia-teaser .farmaciaIntro .colContatti {
    margin-top: 30px;
  }
  article.content-farmacia .farmaciaIntro .colContatti .farmaciaMap,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .farmaciaMap {
    height: 130px;
  }
  article.content-farmacia .farmaciaIntro .colContatti .colWrp,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .colWrp {
    padding: 30px 0 60px 0;
  }
  article.content-farmacia .farmaciaIntro .colContatti h3,
  article.content-farmacia-teaser .farmaciaIntro .colContatti h3 {
    margin: 0 0 15px 0;
    font-size: 0.875rem;
    line-height: 1rem;
  }
  article.content-farmacia .farmaciaIntro .colContatti p,
  article.content-farmacia-teaser .farmaciaIntro .colContatti p {
    font-weight: 300;
    font-size: 0.6875rem;
    line-height: 0.9375rem;
  }
  article.content-farmacia .farmaciaIntro .colContatti .field-name-field-ph-contatto-custom,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .field-name-field-ph-contatto-custom {
    margin: 15px 0 0 0;
  }
  article.content-farmacia .farmaciaIntro .colContatti .mailCnt a,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a {
    padding: 10px 25px;
    font-size: 0.625rem;
    line-height: 0.625rem;
  }
  article.content-farmacia .farmaciaIntro .colContatti .mailCnt a.linkMore,
  article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a.linkMore {
    height: 36px;
    padding: 0 25px;
    line-height: 2.25rem;
  }
  article.content-farmacia .farmaciaServizi,
  article.content-farmacia-teaser .farmaciaServizi {
    margin-top: 50px;
  }
  article.content-farmacia .farmaciaCassettoTitolo h4,
  article.content-farmacia-teaser .farmaciaCassettoTitolo h4 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  article.content-farmacia .farmaciaCassettoTitolo .field-name-field-header-subtitle,
  article.content-farmacia-teaser .farmaciaCassettoTitolo .field-name-field-header-subtitle {
    font-size: 0.625rem;
    line-height: 0.75rem;
  }
  article.content-farmacia .farmaciaCassettoTitolo span.cf-more:before,
  article.content-farmacia-teaser .farmaciaCassettoTitolo span.cf-more:before {
    font-size: 20px;
    line-height: 20px;
  }
  article.content-farmacia .farmaciaCassettoContent,
  article.content-farmacia-teaser .farmaciaCassettoContent {
    margin: 15px 0px;
  }
}

article.content-farmacia-teaser {
  padding: 20px 0;
  border-bottom: 2px solid #be272e;
}
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a.linkWrite {
  display: none;
}
article.content-farmacia-teaser .farmaciaIntro .colContatti .mailCnt a.linkMore {
  display: inline-block;
}

article.content-servizio-teaser,
article.content-servizio-teaser-alt {
  width: 100%;
  padding: 0 10px;
  text-align: center;
}
article.content-servizio-teaser .field-name-field-image,
article.content-servizio-teaser-alt .field-name-field-image {
  position: relative;
  width: 100%;
  margin: 0;
}
article.content-servizio-teaser .field-name-field-image .field-item,
article.content-servizio-teaser-alt .field-name-field-image .field-item {
  width: 100%;
  border-radius: 100%;
  overflow: hidden;
}
article.content-servizio-teaser .field-name-field-image img,
article.content-servizio-teaser-alt .field-name-field-image img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: top;
}
article.content-servizio-teaser h4,
article.content-servizio-teaser-alt h4 {
  margin: 20px 0 5px 0;
}
article.content-servizio-teaser h4 a,
article.content-servizio-teaser-alt h4 a {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-servizio-teaser h4,
  article.content-servizio-teaser-alt h4 {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-servizio-teaser h4,
  article.content-servizio-teaser-alt h4 {
    margin: 20px 0 5px 0;
    font-size: 0.75rem;
    line-height: 1rem;
  }
  article.content-servizio-teaser .field-name-field-abstract p,
  article.content-servizio-teaser-alt .field-name-field-abstract p {
    font-size: 0.6875rem;
    line-height: 0.8125rem;
  }
}

article.content-servizio-teaser-alt h4 {
  color: #a31e35;
}
article.content-servizio-teaser-alt .field-name-field-abstract p {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
}
@media screen and (max-width: 47.9375em) {
  article.content-servizio-teaser-alt .field-name-field-abstract p {
    font-size: 0.6875rem;
    line-height: 0.8125rem;
  }
}

article.content-servizio {
  padding: 20px 0;
  border-bottom: 2px solid #be272e;
}
article.content-servizio .field-name-field-image {
  position: relative;
  margin: 0;
}
article.content-servizio .field-name-field-image .field-item {
  width: 100%;
  border-radius: 100%;
  overflow: hidden;
}
article.content-servizio .field-name-field-image img {
  display: inline-block;
  width: 130px;
  height: auto;
  vertical-align: top;
}
article.content-servizio .servIntro h4 {
  margin: 40px 0 0 0;
  font-weight: 700;
  font-size: 2.875rem;
  line-height: 3.125rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 2px;
}
article.content-servizio .servIntro .field-name-field-intro-text {
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-servizio .servIntro span.cf-more {
  display: inline-block;
  vertical-align: top;
}
article.content-servizio .servIntro span.cf-more:before {
  font-size: 40px;
  line-height: 40px;
  color: #a31e35;
}
article.content-servizio .servIntro.opened span.cf-more:before {
  content: "\e80d";
}
article.content-servizio .servDetail {
  display: none;
  margin: 20px 0;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-servizio .field-name-field-image img {
    width: 110px;
  }
  article.content-servizio .servIntro h4 {
    margin: 30px 0 0 0;
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  article.content-servizio .servIntro .field-name-field-intro-text {
    font-size: 1.125rem;
  }
  article.content-servizio .servIntro span.cf-more:before {
    font-size: 30px;
    line-height: 30px;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-servizio .field-name-field-image img {
    width: 60px;
  }
  article.content-servizio .servIntro h4 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.625rem;
  }
  article.content-servizio .servIntro .field-name-field-intro-text {
    font-size: 0.625rem;
    line-height: 0.75rem;
  }
  article.content-servizio .servIntro span.cf-more:before {
    font-size: 20px;
    line-height: 20px;
  }
}

article.content-persona {
  width: 100%;
  padding: 0 10px;
  text-align: center;
}
article.content-persona .field-name-field-image {
  position: relative;
  margin: 0 0 15px 0;
}
article.content-persona .field-name-field-image .field-item {
  width: 100%;
  border-radius: 100%;
  overflow: hidden;
}
article.content-persona .field-name-field-image img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: top;
}
article.content-persona .field-name-field-titolo, article.content-persona h4 {
  margin: 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #000000;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-persona .field-name-field-carica {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
  letter-spacing: 1px;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-persona .field-name-field-titolo, article.content-persona h4 {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
}
article.content-articolo-teaser,
article.content-articolo-teaser-alt {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  text-align: left;
}
article.content-articolo-teaser .field-name-field-art-cover,
article.content-articolo-teaser-alt .field-name-field-art-cover {
  margin: 0 0 25px 0;
}
article.content-articolo-teaser .field-name-field-art-cover img,
article.content-articolo-teaser-alt .field-name-field-art-cover img {
  display: inline-block;
  width: 100%;
}
article.content-articolo-teaser .artWrp,
article.content-articolo-teaser-alt .artWrp {
  width: 100%;
  padding: 0 30px 80px 30px;
}
article.content-articolo-teaser .artTop,
article.content-articolo-teaser-alt .artTop {
  width: 100%;
  font-size: 0;
}
article.content-articolo-teaser .field-name-field-art-type,
article.content-articolo-teaser-alt .field-name-field-art-type {
  display: inline-block;
  vertical-align: top;
}
article.content-articolo-teaser .field-name-field-art-type .field-items, article.content-articolo-teaser .field-name-field-art-type .field-item,
article.content-articolo-teaser-alt .field-name-field-art-type .field-items,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item {
  display: inline-block;
  vertical-align: top;
}
article.content-articolo-teaser .field-name-field-art-type .field-item,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item {
  display: inline-block;
  vertical-align: top;
  height: 24px;
  margin: 0 7px 7px 0;
  padding: 0 10px;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: #FFFFFF;
  text-transform: uppercase;
}
article.content-articolo-teaser .field-name-field-art-type .field-item.type-1,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item.type-1 {
  background: #c2b7af;
}
article.content-articolo-teaser .field-name-field-art-type .field-item.type-2,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item.type-2 {
  background: #a31e35;
}
article.content-articolo-teaser .field-name-field-art-type .field-item.type-3,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item.type-3 {
  background: #98cbc1;
}
article.content-articolo-teaser .field-name-field-art-type .field-item.type-4,
article.content-articolo-teaser-alt .field-name-field-art-type .field-item.type-4 {
  background: #2f685f;
}
article.content-articolo-teaser .dataArt,
article.content-articolo-teaser-alt .dataArt {
  display: inline-block;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: #000000;
}
article.content-articolo-teaser h4,
article.content-articolo-teaser-alt h4 {
  margin: 10px 0 20px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-articolo-teaser .field-name-field-art-text,
article.content-articolo-teaser-alt .field-name-field-art-text {
  font-weight: 300 !important;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
  word-break: break-all;
}
article.content-articolo-teaser .field-name-field-art-text p,
article.content-articolo-teaser-alt .field-name-field-art-text p {
  margin: 0;
  font-weight: 300 !important;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
  word-break: break-all;
}
article.content-articolo-teaser .field-name-field-art-text strong, article.content-articolo-teaser .field-name-field-art-text b,
article.content-articolo-teaser-alt .field-name-field-art-text strong,
article.content-articolo-teaser-alt .field-name-field-art-text b {
  font-weight: 300 !important;
}
article.content-articolo-teaser .field-name-field-art-pharmacy,
article.content-articolo-teaser-alt .field-name-field-art-pharmacy {
  display: block;
  position: absolute;
  bottom: 0;
  left: 30px;
  width: calc(100% - 60px);
  margin: 0;
  padding: 10px 20px;
  background: #a31e35;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 0.875rem;
  color: #FFFFFF;
  text-transform: uppercase;
  text-align: center;
}
article.content-articolo-teaser .phSelector,
article.content-articolo-teaser-alt .phSelector {
  display: block;
  position: absolute;
  bottom: 0;
  left: 30px;
  width: calc(100% - 60px);
  height: 50px;
  margin: 0;
}
article.content-articolo-teaser .phSelector a.gotoPh,
article.content-articolo-teaser-alt .phSelector a.gotoPh {
  display: block;
  width: 100%;
  padding: 0 20px;
  background: #a31e35;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 3.125rem;
  color: #FFFFFF;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-articolo-teaser .artWrp,
  article.content-articolo-teaser-alt .artWrp {
    padding: 0 20px 70px 20px;
  }
  article.content-articolo-teaser h4,
  article.content-articolo-teaser-alt h4 {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
  article.content-articolo-teaser .phSelector a.gotoPh,
  article.content-articolo-teaser-alt .phSelector a.gotoPh {
    padding: 0 10px;
    font-size: 0.6875rem;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-articolo-teaser .artWrp,
  article.content-articolo-teaser-alt .artWrp {
    padding: 0 15px 60px 15px;
  }
  article.content-articolo-teaser .field-name-field-art-type .field-item,
  article.content-articolo-teaser-alt .field-name-field-art-type .field-item {
    height: 20px;
    margin: 0 3px 3px 0;
    padding: 0 6px;
    font-size: 0.625rem;
    line-height: 1.25rem;
  }
  article.content-articolo-teaser .dataArt,
  article.content-articolo-teaser-alt .dataArt {
    font-size: 0.625rem;
    line-height: 1.25rem;
  }
  article.content-articolo-teaser h4,
  article.content-articolo-teaser-alt h4 {
    margin: 10px 0;
    font-size: 0.75rem;
    line-height: 1rem;
  }
  article.content-articolo-teaser .field-name-field-art-text,
  article.content-articolo-teaser-alt .field-name-field-art-text {
    font-size: 0.6875rem;
    line-height: 0.8125rem;
  }
  article.content-articolo-teaser .field-name-field-art-text p,
  article.content-articolo-teaser-alt .field-name-field-art-text p {
    font-size: 0.6875rem;
    line-height: 0.8125rem;
  }
  article.content-articolo-teaser .field-name-field-art-pharmacy,
  article.content-articolo-teaser-alt .field-name-field-art-pharmacy {
    left: 30px;
    width: calc(100% - 60px);
    padding: 10px 20px;
    font-size: 0.8125rem;
    line-height: 0.875rem;
  }
  article.content-articolo-teaser .phSelector,
  article.content-articolo-teaser-alt .phSelector {
    left: 10px;
    width: calc(100% - 20px);
  }
  article.content-articolo-teaser .phSelector a.gotoPh,
  article.content-articolo-teaser-alt .phSelector a.gotoPh {
    padding: 0 10px;
    font-size: 0.6875rem;
  }
}

article.content-articolo-teaser-alt .artWrp {
  padding: 0 30px 20px 30px;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-articolo-teaser-alt .artWrp {
    padding: 0 20px 20px 20px;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-articolo-teaser-alt .artWrp {
    padding: 0 15px 15px 15px;
  }
}

article.content-area-accordion {
  padding: 20px 0;
  border-bottom: 2px solid #be272e;
}
article.content-area-accordion .field-name-field-image {
  position: relative;
  margin: 0;
}
article.content-area-accordion .field-name-field-image .field-item {
  width: 100%;
  border-radius: 100%;
  overflow: hidden;
}
article.content-area-accordion .field-name-field-image img {
  display: inline-block;
  width: 130px;
  height: auto;
  vertical-align: top;
}
article.content-area-accordion .areaAccIntro h4 {
  margin: 40px 0 0 0;
  font-weight: 700;
  font-size: 2.875rem;
  line-height: 3.125rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 2px;
}
article.content-area-accordion .areaAccIntro .field-name-field-intro-text {
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.375rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-area-accordion .areaAccIntro span.cf-more {
  display: inline-block;
  vertical-align: top;
}
article.content-area-accordion .areaAccIntro span.cf-more:before {
  font-size: 40px;
  line-height: 40px;
  color: #a31e35;
}
article.content-area-accordion .areaAccIntro.opened span.cf-more:before {
  content: "\e80d";
}
article.content-area-accordion .areaAccDetail {
  display: none;
  margin: 20px 0;
}
article.content-area-accordion .areaAccDetail .columns > .field-name-field-contenuto > .field-items > .field-item {
  position: relative;
  width: 100%;
  margin: 0 0 20px 0;
}
article.content-area-accordion .areaAccDetail .columns > .field-name-field-contenuto > .field-items > .field-item:last-of-type {
  margin: 0;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  article.content-area-accordion .field-name-field-image img {
    width: 110px;
  }
  article.content-area-accordion .areaAccIntro h4 {
    margin: 30px 0 0 0;
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  article.content-area-accordion .areaAccIntro .field-name-field-intro-text {
    font-size: 1.125rem;
  }
  article.content-area-accordion .areaAccIntro span.cf-more:before {
    font-size: 30px;
    line-height: 30px;
  }
}
@media screen and (max-width: 47.9375em) {
  article.content-area-accordion .field-name-field-image img {
    width: 60px;
  }
  article.content-area-accordion .areaAccIntro h4 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  article.content-area-accordion .areaAccIntro .field-name-field-intro-text {
    font-size: 0.625rem;
    line-height: 0.75rem;
  }
  article.content-area-accordion .areaAccIntro span.cf-more:before {
    font-size: 20px;
    line-height: 20px;
  }
}

article.content-cofainfo-teaser {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  text-align: left;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
article.content-cofainfo-teaser .field-cover img {
  display: inline-block;
  width: 100%;
}
article.content-cofainfo-teaser .data {
  display: inline-block;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: #000000;
}
article.content-cofainfo-teaser h4 {
  margin: 10px 0 20px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 1px;
}
article.content-cofainfo-teaser .field-name-body {
  font-weight: 300 !important;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
  word-break: break-word;
}
article.content-cofainfo-teaser .field-name-body p {
  margin: 0;
  font-weight: 300 !important;
  font-size: 1rem;
  line-height: 1.25rem;
  color: #000000;
  word-break: break-word;
}
article.content-cofainfo-teaser .field-name-field-link {
  margin-top: 20px;
}
article.content-cofainfo-teaser .field-name-field-link a {
  display: inline-block;
  padding: 10px 45px;
  max-width: 249px;
  background: #a31e35;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 0.8125rem;
  color: #FFFFFF;
  text-align: center;
  text-transform: uppercase;
}
article.content-cofainfo-teaser .field-name-field-link a:hover {
  background: #be272e;
}

footer {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #a31e35;
}
footer .footer-utils-menu ul.menu {
  font-size: 0;
}
footer .footer-utils-menu ul.menu a {
  display: inline-block;
  padding: 0;
  vertical-align: top;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #FFFFFF;
  text-transform: uppercase;
}
footer .footer-utils-menu ul.menu a:after {
  display: inline-block;
  padding: 0 5px;
  vertical-align: top;
  content: " - ";
}
footer .footer-utils-menu ul.menu li:last-of-type a:after {
  display: none;
}
footer .footer-social-menu ul.menu {
  font-size: 0;
  text-align: center;
}
footer .footer-social-menu ul.menu a {
  display: inline-block;
  padding: 0;
  vertical-align: top;
  color: #FFFFFF;
}
footer .footer-social-menu ul.menu a:before {
  font-size: 18px;
  line-height: 18px;
}
footer .footer-social-menu ul.menu a.social-fb {
  margin-right: 10px;
}
footer .footer-social-menu ul.menu a.social-fb:before {
  content: "\e804";
}
footer .footer-social-menu ul.menu a.social-ln {
  margin-left: 10px;
}
footer .footer-social-menu ul.menu a.social-ln:before {
  content: "\e807";
}
footer .footer-text p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #FFFFFF;
}
footer .footer-text a {
  font-weight: 700;
  color: #FFFFFF;
}
@media screen and (max-width: 47.9375em) {
  footer {
    padding-bottom: 100px;
  }
  footer .footer-utils-menu ul.menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  footer .lastLeftCol, footer .lastRightCol {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    width: 100%;
  }
  footer .footer-social-menu ul.menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  footer .footer-text {
    text-align: center;
  }
}

.block-cofa-utils.block-page-header-block {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  z-index: 0;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock {
  position: relative;
  width: 100%;
}
.block-cofa-utils.block-page-header-block .headerBackgrounds {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.block-cofa-utils.block-page-header-block .headerBackgrounds .headerBg {
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.block-cofa-utils.block-page-header-block .headerBackgrounds:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 240px;
  background: rgb(0, 0, 0);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.45)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}
.block-cofa-utils.block-page-header-block .headerBackgrounds.slick-initialized .slick-list {
  height: 100%;
}
.block-cofa-utils.block-page-header-block .headerBackgrounds.slick-initialized .slick-track {
  height: 100%;
}
.block-cofa-utils.block-page-header-block .headerTexts {
  position: relative;
  z-index: 2;
  text-align: center;
}
.block-cofa-utils.block-page-header-block .headerTexts h1#pageTitle {
  margin: 0 0 20px 0;
  font-weight: 700;
  font-size: 3.75rem;
  line-height: 3.75rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 5px;
}
.block-cofa-utils.block-page-header-block .headerTexts h2.pageSottotitolo {
  margin: 0;
  font-weight: 400;
  font-size: 1.875rem;
  line-height: 2.5rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts {
  padding-top: 100px;
  padding-bottom: 50px;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts:before {
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  width: 200vw;
  height: 240px;
  background: rgb(0, 0, 0);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.35)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: -1;
}
body.header-type-images .block-cofa-utils.block-page-header-block {
  margin-top: -110px;
  margin-bottom: 80px;
  z-index: 0;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images {
  height: 0;
  padding-top: 45%;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images .headerTexts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images .headerTexts .htWrapper {
  position: relative;
  top: 70%;
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 0.9375rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images .headerTexts h1#pageTitle {
  margin: 20px 0;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .htWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .titlesWrp {
  margin-left: 20px;
  text-align: left;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .farmaicon {
  display: inline-block;
  vertical-align: top;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .farmaicon:before {
  font-size: 120px;
  line-height: 120px;
  color: #a31e35;
}
.block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .headerTexts h1#pageTitle {
  margin: 0 !important;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  .block-cofa-utils.block-page-header-block .headerTexts h1#pageTitle {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }
  .block-cofa-utils.block-page-header-block .headerTexts h2.pageSottotitolo {
    font-size: 1.625rem;
    line-height: 2rem;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts {
    padding-top: 80px;
    padding-bottom: 30px;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts:before {
    height: 200px;
  }
  body.header-type-images .block-cofa-utils.block-page-header-block {
    margin-top: -90px;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .farmaicon:before {
    font-size: 80px;
    line-height: 80px;
  }
}
@media screen and (max-width: 47.9375em) {
  .block-cofa-utils.block-page-header-block .headerTexts h1#pageTitle {
    margin: 0 0 5px 0;
    font-size: 2rem;
    line-height: 2rem;
  }
  .block-cofa-utils.block-page-header-block .headerTexts h2.pageSottotitolo {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts {
    padding-top: 60px;
    padding-bottom: 20px;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-simple .headerTexts:before {
    height: 120px;
  }
  body.header-type-images .block-cofa-utils.block-page-header-block {
    margin-top: -60px;
    margin-bottom: 30px;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images {
    height: 60vh;
    min-height: 320px;
    padding: 0;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.chb-images .headerTexts h1#pageTitle {
    margin: 0 0 10px 0;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .htWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .titlesWrp {
    margin-left: 0;
    text-align: center;
  }
  .block-cofa-utils.block-page-header-block .cofaHeaderBlock.farmacia .farmaicon:before {
    font-size: 60px;
    line-height: 60px;
  }
}

.block-cofa-utils.block-hp-wheel-block {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: -110px auto 80px auto;
  z-index: 0;
}
.block-cofa-utils.block-hp-wheel-block .cofaHpWheelBlock {
  position: relative;
  width: 100%;
}
.block-cofa-utils.block-hp-wheel-block .whTopSlider {
  position: relative;
  width: 100%;
  height: 648px;
  overflow: hidden;
}
.block-cofa-utils.block-hp-wheel-block .whTopSlider:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 240px;
  background: rgb(0, 0, 0);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.45)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}
.block-cofa-utils.block-hp-wheel-block .whTopSlider .whTopSlide {
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.block-cofa-utils.block-hp-wheel-block .whTopSlider.slick-initialized .slick-list, .block-cofa-utils.block-hp-wheel-block .whTopSlider.slick-initialized .slick-track {
  height: 100%;
}
.block-cofa-utils.block-hp-wheel-block .whTitle {
  position: absolute;
  top: 160px;
  left: 50%;
  padding: 0 20px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.block-cofa-utils.block-hp-wheel-block .whTitle h1 {
  margin: 0;
  font-weight: 700;
  font-size: 5rem;
  line-height: 5.625rem;
  color: #484747;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.block-cofa-utils.block-hp-wheel-block .whTitle h2 {
  margin: 0;
  font-weight: 400;
  font-size: 2.125rem;
  line-height: 2.5rem;
  color: #484747;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.block-cofa-utils.block-hp-wheel-block .whWheelSvg {
  position: absolute;
  bottom: -80px;
  left: 50%;
  width: 840px;
  height: 440px;
  overflow: hidden;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.block-cofa-utils.block-hp-wheel-block .whWheelSvg svg {
  width: 100%;
}
.block-cofa-utils.block-hp-wheel-block #wheelSvg .farmGroup:not(.current) #name {
  opacity: 0.5;
}
.block-cofa-utils.block-hp-wheel-block #wheelSvg .farmGroup:not(.current) #farmacia {
  opacity: 0.5;
}
@media only screen and (max-width: 1270px) {
  .block-cofa-utils.block-hp-wheel-block .whTitle {
    width: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  .block-cofa-utils.block-hp-wheel-block {
    margin: -90px auto 80px auto;
  }
  .block-cofa-utils.block-hp-wheel-block .whTopSlider {
    height: 530px;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle {
    top: 160px;
    width: 100%;
    text-align: center;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle h1 {
    font-size: 4.375rem;
    line-height: 5rem;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle h2 {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }
  .block-cofa-utils.block-hp-wheel-block .whWheelSvg {
    width: 640px;
    height: 320px;
  }
}
@media screen and (max-width: 47.9375em) {
  .block-cofa-utils.block-hp-wheel-block {
    margin: -60px auto 0 auto;
  }
  .block-cofa-utils.block-hp-wheel-block .whTopSlider {
    height: 380px;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle {
    top: 160px;
    width: 100%;
    text-align: center;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle h1 {
    font-size: 2rem;
    line-height: 2.375rem;
  }
  .block-cofa-utils.block-hp-wheel-block .whTitle h2 {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .block-cofa-utils.block-hp-wheel-block .whWheelCircle {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 140px;
    height: 70px;
    background: #a31e35;
    border-radius: 70px 70px 0px 0px;
    text-align: center;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .block-cofa-utils.block-hp-wheel-block .whWheelCircle a {
    display: block;
    position: relative;
    top: 60%;
    padding: 0 10px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1rem;
    color: #FFFFFF;
    text-transform: uppercase;
  }
}

#block-userlogin {
  max-width: 690px;
  margin-left: auto;
  margin-right: auto;
}
#block-userlogin .block-title {
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 25px;
}
#block-userlogin form.user-login-form {
  text-align: center;
}
#block-userlogin .js-form-item {
  display: inline-block;
  width: 45%;
}
#block-userlogin [type=text],
#block-userlogin [type=password] {
  height: 50px;
  padding: 8px 13px;
}
#block-userlogin [type=text]::-webkit-input-placeholder, #block-userlogin [type=password]::-webkit-input-placeholder {
  color: #000000;
  font-weight: 300;
}
#block-userlogin [type=text]::-moz-placeholder, #block-userlogin [type=password]::-moz-placeholder {
  color: #000000;
  font-weight: 300;
}
#block-userlogin [type=text]:-ms-input-placeholder, #block-userlogin [type=password]:-ms-input-placeholder {
  color: #000000;
  font-weight: 300;
}
#block-userlogin [type=text]::-ms-input-placeholder, #block-userlogin [type=password]::-ms-input-placeholder {
  color: #000000;
  font-weight: 300;
}
#block-userlogin [type=text]::placeholder,
#block-userlogin [type=password]::placeholder {
  color: #000000;
  font-weight: 300;
}
#block-userlogin label {
  display: none;
}
#block-userlogin .form-submit {
  margin-top: 20px;
}
#block-userlogin ul {
  display: none;
}

body.is-ie-11 .block-cofa-utils.block-hp-wheel-block #wheelSvg {
  width: 840px;
  height: 840px;
}

.view-elenco-servizi,
article.content-farmacia .farmaciaServizi {
  position: relative;
  width: 100%;
}
.view-elenco-servizi header,
article.content-farmacia .farmaciaServizi header {
  margin: 60px 0;
}
.view-elenco-servizi header span,
article.content-farmacia .farmaciaServizi header span {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
}
.view-elenco-servizi header span:before,
article.content-farmacia .farmaciaServizi header span:before {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: 26px;
  line-height: 30px;
  color: #bfb9b1;
}
.view-elenco-servizi header span:hover:before,
article.content-farmacia .farmaciaServizi header span:hover:before {
  color: #a31e35;
}
.view-elenco-servizi header h3,
article.content-farmacia .farmaciaServizi header h3 {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.875rem;
  color: #a31e35 !important;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.view-elenco-servizi header h3 span,
article.content-farmacia .farmaciaServizi header h3 span {
  cursor: auto;
}
.view-elenco-servizi .servHpItems,
.view-elenco-servizi .field-name-field-ph-servizi > .field-items,
article.content-farmacia .farmaciaServizi .servHpItems,
article.content-farmacia .farmaciaServizi .field-name-field-ph-servizi > .field-items {
  width: calc(100% + 20px);
  margin: 0 -10px;
}
@media screen and (max-width: 47.9375em) {
  .view-elenco-servizi header,
  article.content-farmacia .farmaciaServizi header {
    margin: 30px 0;
  }
  .view-elenco-servizi header span:before,
  article.content-farmacia .farmaciaServizi header span:before {
    font-size: 20px;
    line-height: 20px;
  }
  .view-elenco-servizi header h3,
  article.content-farmacia .farmaciaServizi header h3 {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.view-dettaglio-servizi {
  position: relative;
  width: 100%;
  margin: 80px 0;
}

.view-aree-accordion {
  position: relative;
  width: 100%;
  margin: 0;
}

.view-elenco-persone {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}
.view-elenco-persone header {
  margin: 0 0 60px 0;
}
.view-elenco-persone header h3 {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.875rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.view-elenco-persone header span {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
}
.view-elenco-persone header span:before {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: 26px;
  line-height: 30px;
  color: #bfb9b1;
}
.view-elenco-persone header span:hover:before {
  color: #a31e35;
}
.view-elenco-persone .collSindItems, .view-elenco-persone .cdaItems {
  width: calc(100% + 20px);
  margin: 0 -10px;
}
@media screen and (max-width: 47.9375em) {
  .view-elenco-persone header {
    margin-bottom: 40px;
  }
  .view-elenco-persone header span:before {
    font-size: 20px;
    line-height: 20px;
  }
  .view-elenco-persone header h3 {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.view-elenco-farmacie {
  position: relative;
  width: 100%;
  margin: 0 0 80px 0;
}
.view-elenco-farmacie .farmacieListHeader {
  position: relative;
  width: 100%;
  text-align: right;
}
.view-elenco-farmacie .farmacieListHeader #togStatusFarmacie {
  position: relative;
  display: inline-block;
  height: 50px;
  padding: 0 20px;
  background: transparent;
  vertical-align: top;
  border: 2px solid #a31e35;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 3.125rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.view-elenco-farmacie .farmacieListHeader #togStatusFarmacie:hover, .view-elenco-farmacie .farmacieListHeader #togStatusFarmacie.active {
  background: #a31e35;
  color: #FFFFFF;
}
.view-elenco-farmacie .farmacieListHeader #togStatusFarmacie:disabled {
  background: #bfb9b1 !important;
  border-color: #bfb9b1 !important;
  cursor: auto !important;
  color: #FFFFFF !important;
  opacity: 0.4 !important;
}
.view-elenco-farmacie .farmacieListHeader .togTypeVista {
  position: relative;
  display: inline-block;
  height: 50px;
  margin: 0 0 0 60px;
  padding: 0;
  background: transparent;
  vertical-align: top;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 3.125rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.view-elenco-farmacie .farmacieListHeader .togTypeVista:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.view-elenco-farmacie .farmacieListHeader .togTypeVista:hover:before, .view-elenco-farmacie .farmacieListHeader .togTypeVista.current:before {
  background: #a31e35;
}
.view-elenco-farmacie .mapHeader {
  position: relative;
  width: 100%;
  margin: 20px 0 0 0;
  font-size: 0;
}
.view-elenco-farmacie .mapHeader h4 {
  margin: 0 0 10px 0;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #484747;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.view-elenco-farmacie .mapHeader .mapForm {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
}
.view-elenco-farmacie .mapHeader .mapFormWrp {
  display: block;
  width: 100%;
}
.view-elenco-farmacie .mapHeader button {
  position: relative;
  display: inline-block;
  height: 50px;
  margin: 0;
  padding: 0 30px;
  background: #a31e35;
  vertical-align: top;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 3.125rem;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.view-elenco-farmacie .mapHeader button:hover {
  background: #c2b7af;
  color: #484747;
}
.view-elenco-farmacie .mapHeader #geolocMe {
  margin-right: 30px;
}
.view-elenco-farmacie .mapHeader input[type=text] {
  position: relative;
  display: inline-block;
  width: 440px;
  height: 50px;
  margin: 0;
  padding: 0 15px;
  background: #FFFFFF;
  vertical-align: top;
  border: 1px solid #bfb9b1;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-weight: 300;
  font-size: 1rem;
  line-height: 3.125rem;
  color: #000000;
}
.view-elenco-farmacie #mapMap {
  position: relative;
  width: 100%;
  height: 550px;
}
.view-elenco-farmacie .typeContent {
  display: none;
}
.view-elenco-farmacie .typeContent.current {
  display: block;
}
@media screen and (min-width: 48em) and (max-width: 64em) {
  .view-elenco-farmacie .farmacieListHeader .togTypeVista {
    margin: 0 0 0 40px;
  }
  .view-elenco-farmacie .mapHeader .mapForm {
    text-align: center;
  }
  .view-elenco-farmacie .mapHeader .mapFormWrp {
    display: inline-block;
    width: auto;
  }
  .view-elenco-farmacie .mapHeader button {
    padding: 0 20px;
  }
  .view-elenco-farmacie .mapHeader #geolocMe {
    margin-right: 20px;
  }
  .view-elenco-farmacie .mapHeader input[type=text] {
    width: 320px;
  }
}
@media screen and (max-width: 47.9375em) {
  .view-elenco-farmacie {
    margin: 0 0 40px 0;
  }
  .view-elenco-farmacie .farmacieListHeader #togStatusFarmacie {
    height: 20px;
    padding: 0 10px;
    font-size: 0.625rem;
    line-height: 1.25rem;
  }
  .view-elenco-farmacie .farmacieListHeader .togTypeVista {
    height: 20px;
    margin: 0 0 0 30px;
    font-size: 0.625rem;
    line-height: 1.25rem;
  }
  .view-elenco-farmacie .farmacieListHeader .togTypeVista:before {
    height: 2px;
  }
  .view-elenco-farmacie .mapHeader h4 {
    font-size: 0.6875rem;
    line-height: 0.875rem;
  }
  .view-elenco-farmacie .mapHeader button {
    height: 40px;
    margin: 0 0 10px 0 !important;
    padding: 0 15px;
    font-size: 0.6875rem;
    line-height: 2.5rem;
  }
  .view-elenco-farmacie .mapHeader #geolocAddr {
    width: 70px;
  }
  .view-elenco-farmacie .mapHeader input[type=text] {
    width: calc(100% - 70px);
    height: 40px;
    padding: 0 10px;
    font-size: 0.75rem;
    line-height: 2.5rem;
  }
}

.view-elenco-articoli {
  margin: 0 0 40px 0;
}
.view-elenco-articoli.cofainforma {
  margin: 0 0 120px 0;
}
.view-elenco-articoli.cofainforma .slick-dots {
  bottom: -55px;
}
.view-elenco-articoli.cofainforma .slick-dots li {
  margin: 0 1px;
}
.view-elenco-articoli.cofainforma .slick-dots li button:before {
  opacity: 1;
  color: #bfb9b1;
  font-size: 9px;
  line-height: 22px;
}
.view-elenco-articoli.cofainforma .slick-dots li.slick-active button:before {
  color: #a31e35;
}
.view-elenco-articoli header {
  margin: 120px 0 50px 0;
}
.view-elenco-articoli header h3 {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.875rem;
  color: #a31e35;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.view-elenco-articoli header span {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
}
.view-elenco-articoli header span:before {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: 26px;
  line-height: 30px;
  color: #bfb9b1;
}
.view-elenco-articoli header span:hover:before {
  color: #a31e35;
}
.view-elenco-articoli .noRes {
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 50px;
  margin: 0 auto 30px auto;
  font-size: 0;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.875rem;
  color: #a31e35;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
}
.view-elenco-articoli .newsHpItems, .view-elenco-articoli .newsFmItems {
  width: calc(100% + 20px);
  margin: 0 -10px;
}
.view-elenco-articoli .slick-track {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
@media print, screen and (min-width: 64.0625em) {
  .view-elenco-articoli .slick-slide {
    height: inherit !important;
  }
}
.view-elenco-articoli .views-exposed-form {
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 50px;
  margin: 0 auto 60px auto;
  font-size: 0;
}
.view-elenco-articoli .views-exposed-form .js-form-type-select {
  position: relative;
  display: inline-block;
  width: calc(100% - 160px);
  vertical-align: top;
}
.view-elenco-articoli .views-exposed-form .form-actions {
  position: relative;
  display: inline-block;
  width: 130px;
  margin: 0 0 0 30px;
  vertical-align: top;
}
.view-elenco-articoli .views-exposed-form label {
  display: none;
}
.view-elenco-articoli .views-exposed-form .form-submit {
  display: inline-block;
  width: 100%;
  height: 50px;
  padding: 0;
  margin: 0;
  vertical-align: top;
  background: #a31e35;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 3.125rem;
  color: #FFFFFF;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
}
.view-elenco-articoli .views-exposed-form .form-submit:hover {
  background: #be272e;
}
@media screen and (max-width: 47.9375em) {
  .view-elenco-articoli {
    margin: 0;
  }
  .view-elenco-articoli header {
    margin: 60px 0 30px 0;
  }
  .view-elenco-articoli header span:before {
    font-size: 20px;
    line-height: 20px;
  }
  .view-elenco-articoli header h3 {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .view-elenco-articoli .noRes {
    height: auto;
    margin: 0 auto 20px auto;
    font-size: 1rem;
    line-height: 1.25rem;
  }
  .view-elenco-articoli .views-exposed-form {
    margin: 0 auto 30px auto;
  }
  .view-elenco-articoli .views-exposed-form .js-form-type-select {
    width: calc(100% - 115px);
  }
  .view-elenco-articoli .views-exposed-form .form-actions {
    width: 100px;
    margin: 0 0 0 15px;
  }
}

.view-elenco-articoli.articoli-farm header {
  margin: 120px 0 20px 0;
}
@media screen and (max-width: 47.9375em) {
  .view-elenco-articoli.articoli-farm header {
    margin: 40px 0 20px 0;
  }
}

.select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single {
  background-color: #FFFFFF;
  border-radius: 0;
  border: 1px solid #bfb9b1;
  padding: 0;
  height: auto;
}
.select2-container--default .select2-selection__rendered {
  padding: 10px 30px 10px 15px !important;
  color: #000000 !important;
  font-family: "Josefin Sans", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 16px;
}
.select2-container--default .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
  right: 0 !important;
  width: 30px !important;
  text-align: center;
}
.select2-container--default .select2-selection__arrow b {
  display: none;
}
.select2-container--default .select2-selection__arrow:before {
  font-family: "cofa";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  top: 50%;
  -webkit-transform: translate(-3px, -50%);
          transform: translate(-3px, -50%);
  content: "\e82e";
  font-size: 6px;
  line-height: 20px;
}
.select2-container--default.select2-container--open .select2-selection--single {
  border: 1px solid #a31e35;
}
.select2-container--default.select2-container--open .select2-selection__rendered {
  color: #a31e35 !important;
}
.select2-container--default.select2-container--open .select2-selection__arrow:before {
  content: "\e82d";
}

.select2-dropdown {
  background-color: #FFFFFF;
  border: 1px solid #bfb9b1;
  border-radius: 0;
}
.select2-dropdown .select2-results__option {
  color: #000000;
}
.select2-dropdown .select2-results__option.select2-results__option--highlighted {
  background: #a31e35;
  color: #FFFFFF;
}
.select2-dropdown .select2-results__option[aria-selected=true] {
  background: #a31e35;
  color: #FFFFFF;
}
.select2-dropdown.select2-dropdown--above {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-dropdown.select2-dropdown--below {
  -webkit-box-shadow: none;
          box-shadow: none;
}

article.content-articolo-teaser .select2-container--default .select2-selection--single {
  background-color: #a31e35;
  border: 1px solid #a31e35;
}
article.content-articolo-teaser .select2-container--default .select2-selection__rendered {
  font-weight: 400;
  color: #FFFFFF !important;
}
article.content-articolo-teaser .select2-container--default .select2-selection__arrow:before {
  font-weight: bold;
  font-size: 8px;
  line-height: 24px;
  color: #FFFFFF !important;
}
article.content-articolo-teaser .select2-container--default.select2-container--open .select2-selection__rendered {
  color: #FFFFFF !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvZmEuY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiYmFzZS9fZHJ1cGFsLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiYmFzZS9fY29tbW9uLnNjc3MiLCJiYXNlL19lbGVtZW50cy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19tYWluLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fYmxvY2suc2NzcyIsIm1vZHVsZXMvX3ZpZXdzLnNjc3MiLCJtb2R1bGVzL19zZWxlY3QyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7OztFQUFBO0FDNkNFLGdFQUFBO0FBR0U7K0VBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0UsdUJDMUNhLEVEMENtQixNQUFBO0VBUTlCLGlCQUFBLEVBQUEsTUFBQTtFQUVGLDBCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBRmpETjs7QUVzREk7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsU0FBQTtBRnJETjs7QUV3REk7O0VBQUE7QUFJQTs7Ozs7O0VBTUUsY0FBQTtBRnRETjs7QUV5REk7OztFQUFBO0FBS0E7RUU5RUYsY0FBQTtFRnlGTSxnQkFBQTtBRmhFUjs7QUVzR0k7K0VBQUE7QUF3Q0E7O0VBQUE7QUFJQTs7RUFFRSxjQUFBO0FGMUlOOztBRTZJSTs7RUFBQTtBQUlBO0VBS0ksZ0JBQUE7QUYvSVI7O0FFbUpJOzs7RUFBQTtBQUtBO0VBQ0UsK0JBQUE7VUFBQSx1QkFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBLEVBQUEsTUFBQTtFQUNBLGlCQUFBLEVBQUEsTUFBQTtBRmpKTjs7QUVvSkk7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUZsSk47O0FFZ0tJOzs7RUFBQTtBQUtBO0VBQ0UsaUNBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1B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QVFSLHFCQVJRO0FmcW5DVjs7QWNsa0NJO0VDM0JGLHdCQVBRO01BT1Isb0JBUFE7QWZ3bUNWOztBYzFrQ0k7RUN2Q0YseUJBUlE7TUFRUixzQkFSUTtVQVFSLG1CQVJRO0FmNm5DVjs7QWMxa0NJO0VDM0JGLDJCQVBRO01BT1Isa0JBUFE7QWZnbkNWOztBY2xsQ0k7RUN2Q0YsMEJBUlE7TUFRUix1QkFSUTtVQVFSLG9CQVJRO0FmcW9DVjs7QWNsbENJO0VDM0JGLDRCQVBRO01BT1IsbUJBUFE7QWZ3bkNWOztBY2hsQ0U7RUNsREEsd0JBaEJRO01BZ0JSLHFCQWhCUTtVQWdCUix1QkFoQlE7RUFpQlIseUJBUlE7TUFRUixzQkFSUTtVQVFSLG1CQVJRO0VEMkROLDBCQUFBO01BQUEscUJBQUE7QWRvbENKOztBYzlrQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZG1sQ2pCOztBY2xsQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZHVsQ2pCOztBY3RsQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZDJsQ2pCOztBYzFsQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZCtsQ2pCOztBYzlsQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZG1tQ2pCOztBY2xtQ007RUNuQ0osNEJEa0NlO01DbENmLGlCRGtDZTtVQ2xDZixRRGtDZTtBZHVtQ2pCOztBVS9pQ007RUl2REE7SUNuQ0osNEJEa0NlO1FDbENmLGlCRGtDZTtZQ2xDZixRRGtDZTtFZDRtQ2Y7RWMzbUNJO0lDbkNKLDRCRGtDZTtRQ2xDZixpQkRrQ2U7WUNsQ2YsUURrQ2U7RWQrbUNmO0VjOW1DSTtJQ25DSiw0QkRrQ2U7UUNsQ2YsaUJEa0NlO1lDbENmLFFEa0NlO0Vka25DZjtFY2puQ0k7SUNuQ0osNEJEa0NlO1FDbENmLGlCRGtDZTtZQ2xDZixRRGtDZTtFZHFuQ2Y7RWNwbkNJO0lDbkNKLDRCRGtDZTtRQ2xDZixpQkRrQ2U7WUNsQ2YsUURrQ2U7RWR3bkNmO0Vjdm5DSTtJQ25DSiw0QkRrQ2U7UUNsQ2YsaUJEa0NlO1lDbENmLFFEa0NlO0VkMm5DZjtBQUNGO0FVcGtDTTtFSXZEQTtJQ25DSiw0QkRrQ2U7UUNsQ2YsaUJEa0NlO1lDbENmLFFEa0NlO0VkZ29DZjtFYy9uQ0k7SUNuQ0osNEJEa0NlO1FDbENmLGlCRGtDZTtZQ2xDZixRRGtDZTtFZG1vQ2Y7RWNsb0NJO0lDbkNKLDRCRGtDZTtRQ2xDZixpQkRrQ2U7WUNsQ2YsUURrQ2U7RWRzb0NmO0Vjcm9DSTtJQ25DSiw0QkRrQ2U7UUNsQ2YsaUJEa0NlO1lDbENmLFFEa0NlO0VkeW9DZjtFY3hvQ0k7SUNuQ0osNEJEa0NlO1FDbENmLGlCRGtDZTtZQ2xDZixRRGtDZTtFZDRvQ2Y7RWMzb0NJO0lDbkNKLDRCRGtDZTtRQ2xDZixpQkRrQ2U7WUNsQ2YsUURrQ2U7RWQrb0NmO0FBQ0Y7QWMxdUNFO0VDT0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7QWZzdUNGOztBY3p1Q0U7RUFDRSxtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtBZDR1Q0o7O0FjenVDRTtFQUNFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0FkNHVDSjs7QWN6dUNFO0VBQ0UsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QWQ0dUNKOztBY3h1Q0k7RUNpREYsOEJBcEVtQjtFQW9FbkIsNkJBcEVtQjtNQW9FbkIsdUJBcEVtQjtVQW9FbkIsbUJBcEVtQjtBZit2Q3JCOztBYzV1Q0k7RUNpREYsOEJBcEVtQjtFQW9FbkIsOEJBcEVtQjtNQW9FbkIsK0JBcEVtQjtVQW9FbkIsMkJBcEVtQjtBZm13Q3JCOztBY2h2Q0k7RUNpREYsNEJBcEVtQjtFQW9FbkIsNkJBcEVtQjtNQW9FbkIsMEJBcEVtQjtVQW9FbkIsc0JBcEVtQjtBZnV3Q3JCOztBY3B2Q0k7RUNpREYsNEJBcEVtQjtFQW9FbkIsOEJBcEVtQjtNQW9FbkIsa0NBcEVtQjtVQW9FbkIsOEJBcEVtQjtBZjJ3Q3JCOztB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QjFuQ007SUFJSSxvQkFEaUI7RWhCMG5DM0I7RWdCN25DTTtJQUlJLG9CQURpQjtFaEI2bkMzQjtFZ0Job0NNO0lBSUksa0JBRGlCO0VoQmdvQzNCO0VnQm5vQ007SUFJSSxlQURpQjtFaEJtb0MzQjtBQUNGO0FnQmhtQ0U7RUFDRSxvQkFBQTtFQUNBLGNDbFFnQjtFRG1RaEIscUJWbkxxQjtFVXFMckIsZUFBQTtBaEJpbUNKO0FnQi9sQ0k7RUFFRSxjVjFMZTtBTjB4Q3JCO0FnQjFsQ0k7RUFDRSxTQUFBO0FoQjRsQ047O0FnQnZsQ0U7RUFDRSxXQUFBO0VBRUEsZ0JWOVNXO0VVK1NYLFNBQUE7RUFDQSxvQlZ0TVE7RVV3TVIsYUFBQTtFQUNBLGVBQUE7RUFDQSxnQ1YzTVE7RVU0TVIsY0FBQTtBaEJ3bENKOztBZ0JwbENFOzs7RUFHRSxtQlZoT3NCO0VVaU90Qiw0QlYvTWtCO0VVZ05sQixnQlZuT21CO0FOMHpDdkI7O0FnQm5sQ0U7RUFDRSxrQkFBQTtBaEJzbENKOztBZ0JsbENFO0VBQ0Usb0JWek5lO0VVME5mLHFCVjVOYztBTml6Q2xCOztBZ0JqbENFO0VBQ0Usb0JWL05lO0FObXpDbkI7O0FnQi9rQ0k7RUFDRSxvQlZwT29CO0VVcU9wQixnQkFBQTtBaEJrbENOOztBZ0I3a0NFO0VBQ0UsbUJWMU9xQjtBTjB6Q3pCO0FnQjlrQ0k7RUFDRSxxQlYzT3dCO0VVNE94QixpQlYxVWU7QU4wNUNyQjs7QWdCM2tDRTtFQUNFLGdCQUFBO0VBQ0Esc0NWalBpQjtFVWtQakIsOEJWalBnQjtBTit6Q3BCO0FnQjVrQ0k7RUFDRSxnQlYvUWlCO0VVZ1JqQixjVmhXTTtBTjg2Q1o7O0FnQnprQ0U7RUFDRSxjQUFBO0VBQ0Esb0JWM1BhO0VVNFBiLGNWeFdRO0FObzdDWjtBZ0Ixa0NJO0VBQ0UsYVY3UGdCO0FOeTBDdEI7O0FnQnZrQ0U7RUFDRSxpQ1Y3UGE7RVU4UGIsWUFBQTtFQUNBLHFCQUFBO0FoQjBrQ0o7O0FnQnRrQ0U7RUFDRSxTQUFBO0FoQnlrQ0o7O0FnQnJrQ0U7RUFDRSxxQ1ZyU1c7RVV1U1gseUJWeFNVO0VVeVNWLHlCVmxZUztFVW9ZVCw0RFYzVW9CO0VVNFVwQixtQlYxWG1CO0VVMlhuQixjVnBhWTtBTjArQ2hCOztBZ0Jsa0NFO0VBQ0UsU0FBQTtFQUNBLDJCVnhSZ0I7RVUwUmhCLHlCVjlZUztFVWdaVCw0RFZ2Vm9CO0VVd1ZwQixjVi9hWTtBTmsvQ2hCOztBa0IxZ0RFO0VBQ0Usa0JacUxtQjtFWXBMbkIscUJacUxzQjtFWW5MdEIsbUJaNkRtQjtFWTVEbkIsZ0JaOEttQjtFWTdLbkIsY1prRFE7QU4wOUNaOztBa0J4Z0RFO0VBQ0UsZVpzS2E7RVlyS2IsZ0Jac0tjO0FOcTJDbEI7O0FrQnZnREU7RUFDRSxpQlp1S2E7RVl0S2IsY0FBQTtBbEIwZ0RKO0FrQnhnREk7RUFDRSxpQkFBQTtBbEIwZ0ROOztBa0JwZ0RJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FsQnVnRE47O0FtQnJrRFU7RUFDRSxnQkFSVTtBbkJnbER0Qjs7QW1CemtEVTtFQUNFLGlCQVJVO0FuQm9sRHRCOztBbUI3a0RVO0VBQ0Usa0JBUlU7QW5Cd2xEdEI7O0FtQmpsRFU7RUFDRSxtQkFSVTtBbkI0bER0Qjs7QVVoOENNO0VTMUpJO0lBQ0UsZ0JBSFU7RW5CaW1EcEI7RW1CL2xEUTtJQUNFLGlCQUhVO0VuQm9tRHBCO0VtQmxtRFE7SUFDRSxrQkFIVTtFbkJ1bURwQjtFbUJybURRO0lBQ0UsbUJBSFU7RW5CMG1EcEI7QUFDRjtBVS84Q007RVMxSkk7SUFDRSxnQkFIVTtFbkIrbURwQjtFbUI3bURRO0lBQ0UsaUJBSFU7RW5Ca25EcEI7RW1CaG5EUTtJQUNFLGtCQUhVO0VuQnFuRHBCO0VtQm5uRFE7SUFDRSxtQkFIVTtFbkJ3bkRwQjtBQUNGO0FvQm5uREU7RUFBa0Isd0JBQUE7QXBCc25EcEI7O0FvQnBuREU7RUFDRTtJQUVJLGtDQUFBO0lBR0YsbUNBQUE7WUFBQSwyQkFBQTtJQUVBLHVCQUFBO0lBQ0EsNEJBQUE7RXBCbW5ESjtFb0JobkRFO0lBQWtCLHlCQUFBO0VwQm1uRHBCO0VvQmxuREU7SUFBa0Isd0JBQUE7RXBCcW5EcEI7RW9Cbm5ERTtJQUF1Qix5QkFBQTtFcEJzbkR6QjtFb0JybkRFO0lBQXVCLHNDQUFBO0VwQnduRHpCO0VvQnZuREU7SUFBdUIsbUNBQUE7RXBCMG5EekI7RW9Cem5ERTtJQUFvQiw2QkFBQTtFcEI0bkR0QjtFb0IzbkRFO0lBQW9CLDhCQUFBO0VwQjhuRHRCO0VvQjduREU7SUFBb0IsOEJBQUE7RXBCZ29EdEI7RW9CN25ERTs7SUFDWSwwQkFBQTtFcEJnb0RkO0VvQjluREk7SUFBZ0IsNEJBQUE7RXBCaW9EcEI7RW9CN25ERTs7O0lBRXFCLFdBQUE7RXBCZ29EdkI7RW9CN25ERTtJQUFvQiw2QkFBQTtFcEJnb0R0QjtFb0I3bkRFOztJQUVFLHlCQUFBO0lBQ0Esd0JBQUE7RXBCK25ESjtFb0IzbkRFO0lBQVEsMkJBQUE7RXBCOG5EVjtFb0I1bkRFOztJQUNNLHdCQUFBO0VwQituRFI7RW9CN25ERTtJQUFNLDBCQUFBO0VwQmdvRFI7RW9COW5ERTtJQUFRLGFBQUE7RXBCaW9EVjtFb0IvbkRFOzs7SUFHRSxVQUFBO0lBQ0EsU0FBQTtFcEJpb0RKO0VvQjduREU7O0lBQ0ssdUJBQUE7RXBCZ29EUDtFb0I3bkRFO0lBQ0UsdUJBQUE7RXBCK25ESjtBQUNGO0FxQjc4Q0U7RUFoTEEscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCZjBOYztFZXpOZCxvQmZ1Tm1CO0VlN01qQixtQmY4TWE7RWUzTWYsd0JBQUE7RUFDQSw2QkFBQTtFQUNBLGdCZldjO0VlVmQseUVmMk5rQjtFZTNObEIsaUVmMk5rQjtFZXpObEIsaUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBcUNBLHlCSmhDa0I7RUlpQ2xCLGNmM0VjO0FOMnBEaEI7QU8xaERFO0VBQ0UsVUFBQTtBUDRoREo7QXFCamxERTtFQUNFLHlCZjhKc0I7RWU3SnRCLGNmL0VZO0FOa3FEaEI7QXFCaCtDTTtFQUNFLGlCQUZtQjtBckJvK0MzQjtBcUJuK0NNO0VBQ0Usa0JBRm1CO0FyQnUrQzNCO0FxQnQrQ007RUFDRSxrQkFGbUI7QXJCMCtDM0I7QXFCcCtDSTtFQTNKQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0FyQmtvREo7QXFCcitDUTtFQWxJTix5QmZwRG1CO0VlcURuQixjQVJVO0FyQmtuRFo7QXFCeG1ERTtFQUNFLHlCQVBtQjtFQVFuQixjQVpRO0FyQnNuRFo7QXFCNytDUTtFQWxJTix5QmZwRG1CO0VlcURuQixjQVJVO0FyQjBuRFo7QXFCaG5ERTtFQUNFLHlCQVBtQjtFQVFuQixjQVpRO0FyQjhuRFo7QXFCci9DUTtFQWxJTix5QmZwRG1CO0VlcURuQixjQVJVO0FyQmtvRFo7QXFCeG5ERTtFQUNFLHlCQVBtQjtFQVFuQixjQVpRO0FyQnNvRFo7QXFCNy9DUTtFQWxJTix5QmZwRG1CO0VlcURuQixjQVJVO0FyQjBvRFo7QXFCaG9ERTtFQUNFLHlCQVBtQjtFQVFuQixjQVpRO0FyQjhvRFo7QXFCcmdEUTtFQWxJTix5QmZwRG1CO0VlcURuQixjQVJVO0FyQmtwRFo7QXFCeG9ERTtFQUNFLHlCQVBtQjtFQVFuQixjQVpRO0FyQnNwRFo7QXFCNy9DSTtFQXpGRixhZnFId0I7RWVwSHhCLG1CQUFBO0FyQnlsREY7QXFCdmxERTtFQUNFLHlCSjdGZ0I7RUk4RmhCLGNmeElZO0FOaXVEaEI7QXFCaGdEUTtFQTlGTixhZnFId0I7RWVwSHhCLG1CQUFBO0FyQmltREY7QXFCL2xERTtFQUNFLHlCZmpIaUI7RWVrSGpCLGNBUlE7QXJCeW1EWjtBcUJ4Z0RRO0VBOUZOLGFmcUh3QjtFZXBIeEIsbUJBQUE7QXJCeW1ERjtBcUJ2bURFO0VBQ0UseUJmakhpQjtFZWtIakIsY0FSUTtBckJpbkRaO0FxQmhoRFE7RUE5Rk4sYWZxSHdCO0VlcEh4QixtQkFBQTtBckJpbkRGO0FxQi9tREU7RUFDRSx5QmZqSGlCO0Vla0hqQixjQVJRO0FyQnluRFo7QXFCeGhEUTtFQTlGTixhZnFId0I7RWVwSHhCLG1CQUFBO0FyQnluREY7QXFCdm5ERTtFQUNFLHlCZmpIaUI7RWVrSGpCLGNBUlE7QXJCaW9EWjtBcUJoaURRO0VBOUZOLGFmcUh3QjtFZXBIeEIsbUJBQUE7QXJCaW9ERjtBcUIvbkRFO0VBQ0UseUJmakhpQjtFZWtIakIsY0FSUTtBckJ5b0RaO0FxQmhpRE07RUEvSEoseUJBQUE7RUFDQSxjSmpFa0I7QWpCbXVEcEI7QXFCeHJERTtFQUVFLDZCQUFBO0FyQnlyREo7QXFCcHJESTtFQUVFLDZCQUFBO0FyQnFyRE47QXFCdHFERTtFQUNFLHFCQU5ZO0VBT1osY0FQWTtBckIrcURoQjtBcUJ2cURJO0VBRUUseUJBQUE7RUFDQSxjSnpFYztBakJpdkRwQjtBcUI3aURVO0VBcElSLHlCQUFBO0VBQ0EsY2ZyRm1CO0FOeXdEckI7QXFCbHJERTtFQUNFLHFCQU5ZO0VBT1osY0FQWTtBckIyckRoQjtBcUJuckRJO0VBRUUseUJBQUE7RUFDQSxjZjdGZTtBTml4RHJCO0FxQnpqRFU7RUFwSVIseUJBQUE7RUFDQSxjZnJGbUI7QU5xeERyQjtBcUI5ckRFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQnVzRGhCO0FxQi9yREk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FONnhEckI7QXFCcmtEVTtFQXBJUix5QkFBQTtFQUNBLGNmckZtQjtBTml5RHJCO0FxQjFzREU7RUFDRSxxQkFOWTtFQU9aLGNBUFk7QXJCbXREaEI7QXFCM3NESTtFQUVFLHlCQUFBO0VBQ0EsY2Y3RmU7QU55eURyQjtBcUJqbERVO0VBcElSLHlCQUFBO0VBQ0EsY2ZyRm1CO0FONnlEckI7QXFCdHRERTtFQUNFLHFCQU5ZO0VBT1osY0FQWTtBckIrdERoQjtBcUJ2dERJO0VBRUUseUJBQUE7RUFDQSxjZjdGZTtBTnF6RHJCO0FxQjdsRFU7RUFwSVIseUJBQUE7RUFDQSxjZnJGbUI7QU55ekRyQjtBcUJsdURFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQjJ1RGhCO0FxQm51REk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOaTBEckI7QXFCaG1ETTtFQTdJSix5QkFBQTtFQUNBLGNKakVrQjtBakJpekRwQjtBcUJ0d0RFO0VBRUUsNkJBQUE7QXJCdXdESjtBcUJsd0RJO0VBRUUsNkJBQUE7QXJCbXdETjtBcUJwdkRFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQjZ2RGhCO0FxQnJ2REk7RUFFRSx5QkFBQTtFQUNBLGNKekVjO0FqQit6RHBCO0FxQjdtRFU7RUFDRSx5QkFBQTtBckIrbURaO0FxQjFtRFU7RUF4SlIseUJBQUE7RUFDQSxjZnJGbUI7QU4wMURyQjtBcUJud0RFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQjR3RGhCO0FxQnB3REk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOazJEckI7QXFCam5EYztFQUdFLHlCQUFBO0FyQmluRGhCO0FxQnpuRFU7RUF4SlIseUJBQUE7RUFDQSxjZnJGbUI7QU55MkRyQjtBcUJseERFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQjJ4RGhCO0FxQm54REk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOaTNEckI7QXFCaG9EYztFQUdFLHlCQUFBO0FyQmdvRGhCO0FxQnhvRFU7RUF4SlIseUJBQUE7RUFDQSxjZnJGbUI7QU53M0RyQjtBcUJqeURFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQjB5RGhCO0FxQmx5REk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOZzREckI7QXFCL29EYztFQUdFLHlCQUFBO0FyQitvRGhCO0FxQnZwRFU7RUF4SlIseUJBQUE7RUFDQSxjZnJGbUI7QU51NERyQjtBcUJoekRFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQnl6RGhCO0FxQmp6REk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOKzREckI7QXFCOXBEYztFQUdFLHlCQUFBO0FyQjhwRGhCO0FxQnRxRFU7RUF4SlIseUJBQUE7RUFDQSxjZnJGbUI7QU5zNURyQjtBcUIvekRFO0VBQ0UscUJBTlk7RUFPWixjQVBZO0FyQncwRGhCO0FxQmgwREk7RUFFRSx5QkFBQTtFQUNBLGNmN0ZlO0FOODVEckI7QXFCN3FEYztFQUdFLHlCQUFBO0FyQjZxRGhCO0FxQmx5REU7RWRuTEEsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFFQSxXQUFBO0VBR0Usc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDZDQUFBO0VjMEtBLGtCQUFBO0VBQ0EsVUFBQTtFQUVBLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQVRPO0FyQm16RFg7QXFCenFEUTtFQUNFLHlCSnBQVTtBakIrNURwQjtBcUJ0cURZO0VBQ0UseUJmOVFPO0FOczdEckI7QXFCenFEWTtFQUNFLHlCZjlRTztBTnk3RHJCO0FxQjVxRFk7RUFDRSx5QmY5UU87QU40N0RyQjtBcUIvcURZO0VBQ0UseUJmOVFPO0FOKzdEckI7QXFCbHJEWTtFQUNFLHlCZjlRTztBTms4RHJCO0FxQjVxREk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QXJCOHFETjs7QXFCMXFESTtFQUVFLHFCQUFBO0FyQjRxRE47O0FzQjc2REU7O0VBckNBLGNBQUE7RUFDQSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUxTO0VBTVQsZ0JBQUE7RUFDQSxlaEJtWGM7RWdCalhkLHlCaEIrV2E7RWdCOVdiLGdCaEJtQmM7RWdCbEJkLHlCaEJ4QmM7RWdCeUJkLHNEaEIrV2E7VWdCL1diLDhDaEIrV2E7RWdCN1diLG9CaEJtV2tCO0VnQmxXbEIsZWhCbVdnQjtFZ0JsV2hCLG1CaEJXcUI7RWdCVnJCLGdCaEJUa0I7RWdCVWxCLGNoQmhDYztFZ0JtQ1osMkVoQnlXZTtFZ0J6V2YsbUVoQnlXZTtFZ0J6V2YsMkRoQnlXZTtFZ0J6V2Ysb0ZoQnlXZTtFZ0JwVmYsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0F0Qis3REo7QXNCaDlERTs7RUFDRSxhQUFBO0VBQ0EseUJoQjhWaUI7RWdCN1ZqQix5QmhCekNZO0VnQjBDWixtQ2hCK1ZpQjtVZ0IvVmpCLDJCaEIrVmlCO0VnQjVWZiwyRWhCOFZhO0VnQjlWYixtRWhCOFZhO0VnQjlWYiwyRGhCOFZhO0VnQjlWYixvRmhCOFZhO0FObW5EbkI7O0FzQm44REU7RUFDRSxlQUFBO0F0QnM4REo7QXNCcDhESTtFQUNFLFlBQUE7QXRCczhETjs7QXNCLzdESTtFQUNFLGNo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Q2M7RUMrRWQsd09BQUE7RXFCOUdFLDhCQUFBO0VBQ0EsdUNBQUE7RUFDQSw0QkFBQTtFQUNBLHdCQUFBO0VBRUEscUJBQUE7RUFJQSwyRXRCa2FlO0VzQmxhZixtRXRCa2FlO0VzQmxhZiwyRHRCa2FlO0VzQmxhZixvRnRCa2FlO0FOMnlEbkI7QU90bUVFO0VxQnRFQTtJckJ5RUksdVdBQUE7RVB1bUVKO0FBQ0Y7QTRCOXNFRTtFQUNFLGFBQUE7RUFDQSx5QnRCdVppQjtFc0J0WmpCLHlCdEJnQlk7RXNCZlosbUN0QndaaUI7VXNCeFpqQiwyQnRCd1ppQjtFc0JyWmYsMkV0QnVaYTtFc0J2WmIsbUV0QnVaYTtFc0J2WmIsMkR0QnVaYTtFc0J2WmIsb0Z0QnVaYTtBTnV6RG5CO0E0QnpzRUU7RUFDRSx5QnRCbUNTO0VzQmxDVCxtQnRCK1lvQjtBTjR6RHhCO0E0QnZzRUU7RUFDRSxhQUFBO0E1QnlzRUo7QTRCdHNFRTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtBNUJ3c0VKOztBNkJ6dUVFO0VBQ0UscUJ2QmlNdUI7RXVCaE12Qix5QkFBQTtBN0I0dUVKO0E2QjN1RUk7RUFDRSxjdkI4THFCO0FOK2lFM0I7QTZCOXVFSTtFQUNFLGN2QjhMcUI7QU4raUUzQjtBNkI5dUVJO0VBQ0UsY3ZCOExxQjtBTitpRTNCO0E2Qjl1RUk7RUFDRSxjdkI4THFCO0FOK2lFM0I7QTZCOXVFSTtFQUNFLGN2QjhMcUI7QU4raUUzQjs7QTZCbnRFSTtFQUNFLGN2Qm9LcUI7QU5rakUzQjs7QTZCanRFRTtFQXpCQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQnZCNFhhO0V1QjFYYixrQnZCc0xzQjtFdUJyTHRCLGlCdkJxRG1CO0V1QnBEbkIsY3ZCbUxrQjtBTjBqRXBCO0E2QnZ0RUk7RUFDRSxjQUFBO0E3Qnl0RU47O0E4QjV2RUU7RUFYQSxxQkFBQTtFQUNBLGdCeEJtUGU7RXdCbFBmLGN4QmlQYztFd0IvT2Qsa0JBQUE7RUFFQSxpQnhCK09nQjtFd0I5T2hCLGtCQUFBO0VBT0UsbUJiOERnQjtFYTdEaEIsY3hCbUJZO0FOZ3ZF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QWtDM3JGSTtFQUNFLFdBQUE7QWxDNnJGTjtBa0N4ckZJO0VBQ0UsY0FBQTtBbEMwckZOOztBbUN0NUZFO0VBWkEscUJBQUE7RUFDQSwwQjdCeWJjO0U2QnZiZCxnQjdCeUVjO0U2QnZFZCxpQjdCb2JnQjtFNkJuYmhCLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFPRSxtQmxCNkRnQjtFa0I1RGhCLGM3QmtCWTtBTjQ0RmhCO0FtQzM1Rk07RUFDRSxtQjdCb0NhO0U2Qm5DYixjQUFBO0FuQzY1RlI7QW1DLzVGTTtFQUNFLG1CN0JvQ2E7RTZCbkNiLGNBQUE7QW5DaTZGUjtBbUNuNkZNO0VBQ0UsbUI3Qm9DYTtFNkJuQ2IsY0FBQTtBbkNxNkZSO0FtQ3Y2Rk07RUFDRSxtQjdCb0NhO0U2Qm5DYixjQUFBO0FuQ3k2RlI7QW1DMzZGTTtFQUNFLG1CN0JvQ2E7RTZCbkNiLGNBQUE7QW5DNjZGUjs7QW9DMzZGRTtFQUNFLHdCQUFBO0FwQzg2Rko7O0FvQzM2RkU7RUFDRSxrQkFBQTtBcEM4NkZKOztBVXgwRk07RTBCdkZGO0lBMUJBLHdCQUFBO0VwQzg3RkY7QUFDRjs7QW9DbDlGSTtFQWlEQTtJQWhERSx3QkFBQTtFcENzOUZKO0FBQ0Y7O0FVejFGTTtFMEIzRkE7SUF6QkYsd0JBQUE7RXBDazlGRjtBQUNGOztBVTExRk07RTBCNUZBO0lBakVGLHdCQUFBO0VwQzQvRkY7QUFDRjs7QVVoMkZNO0UwQnZGRjtJQTFCQSx3QkFBQTtFcENzOUZGO0FBQ0Y7O0FvQzErRkk7RUFpREE7SUFoREUsd0JBQUE7RXBDOCtGSjtBQUNGOztBVWozRk07RTBCM0ZBO0lBekJGLHdCQUFBO0VwQzArRkY7QUFDRjs7QVVsM0ZNO0UwQjVGQTtJQWpFRix3QkFBQTtFcENvaEdGO0FBQ0Y7O0FVeDNGTTtFMEJ2RkY7SUExQkEsd0JBQUE7RXBDOCtGRjtBQUNGOztBb0NsZ0dJO0VBaURBO0lBaERFLHdCQUFBO0VwQ3NnR0o7QUFDRjs7QW9DaDlGRTs7RTdCc0hBLDZCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFB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QUNBLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0VBRUEsa0JBQUE7RUFDQSxRQUFBO0VBQ0Esd0NBQUE7VUFBQSxnQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0F4RDg1Tk47QXdEejVOSTtFQUE0Qix5QkFBQTtBeEQ0NU5oQztBd0QzNU5JO0VBQThCLHlCQUFBO0F4RDg1TmxDO0F3RDU1Tk07RUFDRSxnQkFBQTtBeEQ4NU5SOztBd0R4NU5BO0VBQ0UseUJsRE1jO0VrRExkLHlCQUFBO0VBQ0EsZ0JBQUE7QXhEMjVORjtBd0R6NU5FO0VBQ0UsY0FBQTtBeEQyNU5KO0F3RDE1Tkk7RUFDRSxtQmxEUFU7RWtEUVYsY2xERlU7QU44NU5oQjtBd0R4NU5FO0VBQ0UsbUJsRGJZO0VrRGNaLGNsRFJZO0FOazZOaEI7QXdEdjVORTtFQUEyQix3QkFBQTtVQUFBLGdCQUFBO0F4RDA1TjdCO0F3RHg1TkU7RUFBMkIsd0JBQUE7VUFBQSxnQkFBQTtBeEQyNU43Qjs7QXdEcjVOSTtFQUNFLHlCbEQxQlU7RWtEMkJWLHlCQUFBO0F4RHc1Tk47QXdEcjVOSTtFQUNFLGdCbERkVTtFa0RlVix5QkFBQTtBeER1NU5OO0F3RHI1Tkk7RUFDRSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0F4RHU1Tk47QXdEbjVOTTtFQUE4Qix5QkFBQTtBeERzNU5wQyIsImZpbGUiOiJjb2ZhLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cbiAgLyoqXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICovXG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAqL1xufVxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjQuMDYyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9ODEuMjVlbVwiO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJKb3NlZmluIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLnJvdyAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5yb3cuZXhwYW5kZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4ucm93LmV4cGFuZGVkIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5yb3cuaXMtY29sbGFwc2UtY2hpbGQsIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdywgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtdXAtNCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG59XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEyLjUlO1xuICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG4uY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7XG59XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkpvc2VmaW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuaDEgc21hbGwsIC5oMSBzbWFsbCxcbmgyIHNtYWxsLCAuaDIgc21hbGwsXG5oMyBzbWFsbCwgLmgzIHNtYWxsLFxuaDQgc21hbGwsIC5oNCBzbWFsbCxcbmg1IHNtYWxsLCAuaDUgc21hbGwsXG5oNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNzc5YmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMTQ2OGEwO1xufVxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhO1xufVxuY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLnRpbnkge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi5leHBhbmRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5idXR0b24ucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICBjb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgY29sb3I6ICMwYzNkNWQ7XG59XG4uYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICBjb2xvcjogIzBjM2Q1ZDtcbn1cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgY29sb3I6ICMzYjNiM2I7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgY29sb3I6ICMxNTc1Mzk7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gIGNvbG9yOiAjODA1NzAwO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICBjb2xvcjogIzY3MjUxYTtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cbi5idXR0b24uY2xlYXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICBjb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gIGNvbG9yOiAjMGMzZDVkO1xufVxuLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gIGNvbG9yOiAjMGMzZDVkO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICBjb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgY29sb3I6ICMzYjNiM2I7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gIGNvbG9yOiAjMTU3NTM5O1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgY29sb3I6ICM4MDU3MDA7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICBjb2xvcjogIzY3MjUxYTtcbn1cbi5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNztcbn1cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICB0b3A6IC0wLjFlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblt0eXBlPXRleHRdLCBbdHlwZT1wYXNzd29yZF0sIFt0eXBlPWRhdGVdLCBbdHlwZT1kYXRldGltZV0sIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgW3R5cGU9bW9udGhdLCBbdHlwZT13ZWVrXSwgW3R5cGU9ZW1haWxdLCBbdHlwZT1udW1iZXJdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT10ZWxdLCBbdHlwZT10aW1lXSwgW3R5cGU9dXJsXSwgW3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblt0eXBlPXRleHRdOmZvY3VzLCBbdHlwZT1wYXNzd29yZF06Zm9jdXMsIFt0eXBlPWRhdGVdOmZvY3VzLCBbdHlwZT1kYXRldGltZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cywgW3R5cGU9bW9udGhdOmZvY3VzLCBbdHlwZT13ZWVrXTpmb2N1cywgW3R5cGU9ZW1haWxdOmZvY3VzLCBbdHlwZT1udW1iZXJdOmZvY3VzLCBbdHlwZT1zZWFyY2hdOmZvY3VzLCBbdHlwZT10ZWxdOmZvY3VzLCBbdHlwZT10aW1lXTpmb2N1cywgW3R5cGU9dXJsXTpmb2N1cywgW3R5cGU9Y29sb3JdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTtcbn1cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuW3R5cGU9ZmlsZV0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcblt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsW2Zvcl0sXG5bdHlwZT1yYWRpb10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPWNoZWNrYm94XSxcbmxhYmVsID4gW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xufVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjtcbn1cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJhZGdlLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5iYWRnZS5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5iYWRnZS5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYmFkZ2Uud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJhZGdlLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jYWxsb3V0LnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWxsb3V0LnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWxsb3V0LnNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5jYWxsb3V0LmxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLm1lbnUgbGkge1xuICBvdXRsaW5lOiAwO1xufVxuLm1lbnUgYSxcbi5tZW51IC5idXR0b24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4ubWVudSBpbnB1dCxcbi5tZW51IHNlbGVjdCxcbi5tZW51IGEsXG4ubWVudSBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5tZW51LnZlcnRpY2FsIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4ubWVudS5zaW1wbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG4ubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuaWNvbnMgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4ubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTtcbiAgfVxufVxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmxhYmVsLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbn1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnO1xufVxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiB6dXJiX2ZvdW5kYXRpb24uc2NzcyAtIENvbnRhaW5zIGFsbCBEcnVwYWwtc3BlY2lmaWMgU0FTUyBmb3IgdGhpcyB0aGVtZS5cbiAqXG4gKiBAdG9kbyBTcGxpdCB0aGlzIGludG8gbXVsdGlwbGUgZm9sZGVycy9maWxlcy5cbiovXG4ucmVnaW9uLWhpZ2hsaWdodGVkOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xiYXItdHJheSBhIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4udG9vbGJhciAudG9vbGJhci10b2dnbGUtb3JpZW50YXRpb24gLnRvb2xiYXItaWNvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi50b29sYmFyIC50b29sYmFyLXRvZ2dsZS1vcmllbnRhdGlvbiAudG9vbGJhci1pY29uOmJlZm9yZSB7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkgYS5pcy1hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5vLWpzIC50b3AtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm8tanMgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uby1qcyAudGl0bGUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjayAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDM5cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gLnN0aWNreS5pcy1zdHVjayAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDc4cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZCAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnRvcC1iYXIgLm1lbnUtaXRlbS0tY29sbGFwc2VkLCAudG9wLWJhciAubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1pdGVtLWtleXMsIC50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZHJvcGJ1dHRvbi13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbn1cbi5kcm9wYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9vbGJhci1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgI3Rvb2xiYXItYWRtaW5pc3RyYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBib2R5LmFkbWluaW1hbC1hZG1pbi10b29sYmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJjb2ZhXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvY29mYS9jb2ZhLmVvdD8yMjY2Njc4N1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9jb2ZhL2NvZmEuZW90PzIyNjY2Nzg3I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9jb2ZhL2NvZmEud29mZjI/MjI2NjY3ODdcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2NvZmEvY29mYS53b2ZmPzIyNjY2Nzg3XCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2NvZmEvY29mYS50dGY/MjI2NjY3ODdcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2NvZmEvY29mYS5zdmc/MjI2NjY3ODcjY29mYVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbltjbGFzc149Y2YtXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGNmLVwiXTpiZWZvcmUsIGZvb3RlciAuZm9vdGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYS5zb2NpYWwtbG46YmVmb3JlLCBmb290ZXIgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51IGEuc29jaWFsLWZiOmJlZm9yZSwgLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmJlZm9yZSwgLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmJlZm9yZSwgLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmJlZm9yZSwgLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmJlZm9yZSwgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYS5zb2NpYWwtbG46YmVmb3JlLCBoZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItc29jaWFsLW1lbnUgdWwubWVudSBhLnNvY2lhbC1mYjpiZWZvcmUsIC5mYW5jeS10bCAuZmFuY3lib3gtY2xvc2Utc21hbGw6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCA+IC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sbzphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcImNvZmFcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmNmLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjtcbn0gLyogJ+6ggCcgKi9cbi5jZi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAxXCI7XG59IC8qICfuoIEnICovXG4uY2YtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDJcIjtcbn0gLyogJ+6ggicgKi9cbi5jZi1jaGktc2lhbW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDNcIjtcbn0gLyogJ+6ggycgKi9cbi5jZi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xufSAvKiAn7qCEJyAqL1xuLmNmLWZhcm1hY2llOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG59IC8qICfuoIUnICovXG4uY2YtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDdcIjtcbn0gLyogJ+6ghycgKi9cbi5jZi1zb2NpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7XG59IC8qICfuoIknICovXG4uY2YtdmFudGFnZ2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGFcIjtcbn0gLyogJ+6giicgKi9cbi5jZi1tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG59IC8qICfuoIwnICovXG4uY2YtbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufSAvKiAn7qCNJyAqL1xuLmNmLWZhcm1hY2lhLWJhaWFtb250aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZVwiO1xufSAvKiAn7qCOJyAqL1xuLmNmLWZhcm1hY2lhLWNhbm9uaWNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG59IC8qICfuoI8nICovXG4uY2YtZmFybWFjaWEtY29sb21ibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMFwiO1xufSAvKiAn7qCQJyAqL1xuLmNmLWZhcm1hY2lhLWR1b21vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODExXCI7XG59IC8qICfuoJEnICovXG4uY2YtZmFybWFjaWEtbGFtYXJtb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEyXCI7XG59IC8qICfuoJInICovXG4uY2YtZmFybWFjaWEtbGltYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiO1xufSAvKiAn7qCTJyAqL1xuLmNmLWZhcm1hY2lhLW1hbnpvbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjtcbn0gLyogJ+6glCcgKi9cbi5jZi1mYXJtYWNpYS1wb250YWNjaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTVcIjtcbn0gLyogJ+6glScgKi9cbi5jZi1mYXJtYWNpYS1zYW50YWduZXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE2XCI7XG59IC8qICfuoJYnICovXG4uY2YtZmFybWFjaWEtc2VtcGlvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTdcIjtcbn0gLyogJ+6glycgKi9cbi5jZi1mYXJtYWNpYS12ZXJjZWxsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOFwiO1xufSAvKiAn7qCYJyAqL1xuLmNmLWZhcm1hY2lhLXZpdHRvcmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE5XCI7XG59IC8qICfuoJknICovXG4uY2Ytc2VsZWN0LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODJkXCI7XG59IC8qICfuoK0nICovXG4uY2Ytc2VsZWN0LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmVcIjtcbn0gLyogJ+6gricgKi9cbiNtYWluLmNvbHVtbnMgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5yb3cuZnVsbFdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ucm93LmZsZXgtY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5ib2R5LnN0b3BPdmVyZmxvdyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3dZIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG5oMS5yZWQsIGgyLnJlZCwgaDMucmVkLCBoNC5yZWQsIGg1LnJlZCwgaDYucmVkLCBwLnJlZCwgc3Bhbi5yZWQge1xuICBjb2xvcjogI2EzMWUzNTtcbn1cblxuLmJ1dHRvbi5yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMxZTM1O1xufVxuXG5kaXYjc2xpZGluZy1wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG5kaXYjc2xpZGluZy1wb3B1cCAuZXUtY29va2llLWNvbXBsaWFuY2UtbWVzc2FnZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMjBweCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA1cHggMCAwO1xufVxuZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJ1dHRvbnMge1xuICB3aWR0aDogMjIwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbmRpdiNzbGlkaW5nLXBvcHVwIC5ldS1jb29raWUtY29tcGxpYW5jZS1idXR0b25zIC5ldS1jb29raWUtY29tcGxpYW5jZS1zZWNvbmRhcnktYnV0dG9uLFxuZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJ1dHRvbnMgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWRlZmF1bHQtYnV0dG9uIHtcbiAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkpvc2VmaW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5kaXYjc2xpZGluZy1wb3B1cCAuZXUtY29va2llLWNvbXBsaWFuY2UtYnV0dG9ucyAuZXUtY29va2llLWNvbXBsaWFuY2Utc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlcixcbmRpdiNzbGlkaW5nLXBvcHVwIC5ldS1jb29raWUtY29tcGxpYW5jZS1idXR0b25zIC5ldS1jb29raWUtY29tcGxpYW5jZS1kZWZhdWx0LWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjYmUyNzJlO1xufVxuZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJ1dHRvbnMgLmV1LWNvb2tpZS1jb21wbGlhbmNlLXNlY29uZGFyeS1idXR0b24ge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJ1dHRvbnMgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWRlZmF1bHQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBkaXYjc2xpZGluZy1wb3B1cCAuZXUtY29va2llLWNvbXBsaWFuY2UtbWVzc2FnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbiAgZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJ1dHRvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5nbS1zdHlsZSAuZ20tc3R5bGUtaXctdDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBoSW5mb1dpbiB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbn1cbi5waEluZm9XaW4gaDUge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi5waEluZm9XaW4gcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGhJbmZvV2luIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2EzMWUzNTtcbn1cblxuKjpmb2N1cyB7XG4gIG91dGxpbmU6IDAgbm9uZTtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tcmlnYS0xMDAsXG4ucGFyYWdyYXBoLS10eXBlLS1yaWdhLTEzLTIzLFxuLnBhcmFncmFwaC0tdHlwZS0tcmlnYS0yMy0xMiB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tcmlnYS0xMDAsXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXJpZ2EtMTMtMjMsXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXJpZ2EtMjMtMTIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGgyLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDMsIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byBoNCwgLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGg1LFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoMixcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDMsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGg0LFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoNSxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDIsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGgzLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBoNCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDUsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDIsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDMsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDUsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDIsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDMsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzQ4NDc0Nztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byBoMixcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDIsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGgyLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGgyLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGgyIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICBmb250LXNpemU6IDMuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byBoMyxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDMsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGgzLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGgzLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGgzIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGg0LFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoNCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDQge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGg1LFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoNSxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDUsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDUsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDYsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGg2LFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBoNixcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCBoNixcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBoNiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gcCxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgcCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgcCxcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCBwLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIHAge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGNvbG9yOiAjNDg0NzQ3O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIHA6bGFzdC1vZi10eXBlLFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwOmxhc3Qtb2YtdHlwZSxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgcDpsYXN0LW9mLXR5cGUsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgcDpsYXN0LW9mLXR5cGUsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW46IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gc3Ryb25nLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gYixcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3Qgc3Ryb25nLFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBiLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBzdHJvbmcsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGIsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgc3Ryb25nLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGIsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gc3Ryb25nLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGIge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGEsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGEsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGEsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgYSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICNhMzFlMzU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXRlc3RvIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLXRlc3RvIGE6aG92ZXIsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGE6aG92ZXIsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGE6aG92ZXIsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgYTpob3Zlcixcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBhOmhvdmVyIHtcbiAgY29sb3I6ICNiZTI3MmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gdWwsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHVsLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCB1bCxcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCB1bCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gdWwgbGksXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHVsIGxpLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCB1bCBsaSxcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCB1bCBsaSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byB1bCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byB1bCBsaTpiZWZvcmUsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHVsIGxpOmJlZm9yZSxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgdWwgbGk6YmVmb3JlLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIHVsIGxpOmJlZm9yZSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byB1bCBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgbGVmdDogMDtcbiAgY29udGVudDogXCLigKJcIjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMTBweDtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDEucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDIucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDMucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDQucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDUucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDYucmVkLCAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gcC5yZWQsIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byBzcGFuLnJlZCxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDEucmVkLFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoMi5yZWQsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGgzLnJlZCxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDQucmVkLFxuLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoNS5yZWQsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IGg2LnJlZCxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgcC5yZWQsXG4udmlldy1lbGVuY28tc2Vydml6aSBhcnRpY2xlIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHNwYW4ucmVkLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBoMS5yZWQsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGgyLnJlZCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDMucmVkLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBoNC5yZWQsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsIGg1LnJlZCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDYucmVkLFxuLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBwLnJlZCxcbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgc3Bhbi5yZWQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDEucmVkLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGgyLnJlZCxcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCBoMy5yZWQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgaDQucmVkLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGg1LnJlZCxcbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCBoNi5yZWQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgcC5yZWQsXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgc3Bhbi5yZWQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDEucmVkLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGgyLnJlZCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBoMy5yZWQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDQucmVkLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGg1LnJlZCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBoNi5yZWQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gcC5yZWQsXG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gc3Bhbi5yZWQge1xuICBjb2xvcjogI2EzMWUzNTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tdGVzdG8gLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtdGVzdG8gaDIsXG4gIC52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QgaDIsXG4gIC52aWV3LWRldHRhZ2xpby1zZXJ2aXppIGFydGljbGUgLnNlcnZEZXRhaWwgaDIsXG4gIGFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCBoMixcbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIGgyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byBoMyxcbiAgLnZpZXctZWxlbmNvLXNlcnZpemkgYXJ0aWNsZSAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBoMyxcbiAgLnZpZXctZGV0dGFnbGlvLXNlcnZpemkgYXJ0aWNsZSAuc2VydkRldGFpbCBoMyxcbiAgYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIGgzLFxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLWltbWFnaW5lIC5maWVsZC1wYXJhZ3JhcGgtLWZpZWxkLWltbWFnaW5lIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1pbW1hZ2luZSAuYmxrSW1hZ2UuZnVsbF9zaXplIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28taW1tYWdpbmUgLmJsa0ltYWdlLmxlZnQgLmZpZWxkLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLWltbWFnaW5lIC5ibGtJbWFnZS5jZW50ZXIgLmZpZWxkLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28taW1tYWdpbmUgLmJsa0ltYWdlLnJpZ2h0IC5maWVsZC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNDFweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuY29sTGVmdCwgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5jb2xSaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuY29sQ292ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDI1MHB4O1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5jb2xDb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmNvbFdycCB7XG4gIGhlaWdodDogMjAwcHg7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC52TWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtaW1tYWdpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMDBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG87XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtaW1tYWdpbmUgLmZpZWxkLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC1pbW1hZ2luZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtYW5ubyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiA0cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXdlaWdodDogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPbkxlZnQgLmNvbENvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90aW1lbGluZS1jdXJ2ZS1sZWZ0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudC55ZWFyT25MZWZ0IC5jb2xMZWZ0IHtcbiAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxNTBweCk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudC55ZWFyT25MZWZ0IC5jb2xMZWZ0IC5jb2xXcnAge1xuICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPbkxlZnQgLmNvbExlZnQgLnZNZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC50bEVsZW1lbnQueWVhck9uTGVmdCAuY29sUmlnaHQge1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwMHB4KTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPbkxlZnQgLmNvbFJpZ2h0IC5jb2xXcnAge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudC55ZWFyT25MZWZ0IC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5lIHtcbiAgbWFyZ2luOiA1MHB4IDAgMCA1MHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC50bEVsZW1lbnQueWVhck9uUmlnaHQgLmNvbENvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90aW1lbGluZS1jdXJ2ZS1yaWdodC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPblJpZ2h0IC5jb2xSaWdodCB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMTUwcHgpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC50bEVsZW1lbnQueWVhck9uUmlnaHQgLmNvbFJpZ2h0IC5jb2xXcnAge1xuICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudC55ZWFyT25SaWdodCAuY29sUmlnaHQgLnZNZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC50bEVsZW1lbnQueWVhck9uUmlnaHQgLmNvbExlZnQge1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwMHB4KTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPblJpZ2h0IC5jb2xMZWZ0IC5jb2xXcnAge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPblJpZ2h0IC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5lIHtcbiAgbWFyZ2luOiA1MHB4IDUwcHggMCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNDFweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC1ldmVudGkgPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbTpmaXJzdC1vZi10eXBlIC50bEVsZW1lbnQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA0MXB4O1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZS5pdG0tZXZlbjpiZWZvcmUge1xuICBsZWZ0OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZS5pdG0tb2RkOmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5jb2xDb3ZlciB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5jb2xMZWZ0LCAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmNvbFJpZ2h0IHtcbiAgICBvcmRlcjogMjtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxMDBweCkgIWltcG9ydGFudDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmNvbFdycCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC1hbm5vIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtYW5ubyBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICBmb250LXdlaWdodDogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC1ldmVudGkgPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbSB7XG4gICAgaGVpZ2h0OiAxNzVweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5jb2xDb3ZlciB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleC1iYXNpczogMTAwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmNvbExlZnQsIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuY29sUmlnaHQge1xuICAgIG9yZGVyOiAyO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDEwMHB4KSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuY29sV3JwIHtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnZNZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5lIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWFubm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sbyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAuZmllbGQtbmFtZS1maWVsZC1ldmVudGkgPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbTpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogMjFweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW06bGFzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgYm90dG9tOiAyNXB4O1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogMjFweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW06bGFzdC1vZi10eXBlLml0bS1ldmVuOmJlZm9yZSB7XG4gICAgbGVmdDogMCU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZS5pdG0tb2RkOmJlZm9yZSB7XG4gICAgbGVmdDogMjAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWNvbnRhaW5lciAudGxFbGVtZW50LnllYXJPbkxlZnQgLmZpZWxkLW5hbWUtZmllbGQtaW1tYWdpbmUge1xuICAgIG1hcmdpbjogMjVweCAwIDAgMjVweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1jb250YWluZXIgLnRsRWxlbWVudC55ZWFyT25SaWdodCAuZmllbGQtbmFtZS1maWVsZC1pbW1hZ2luZSB7XG4gICAgbWFyZ2luOiAyNXB4IDI1cHggMCAwO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1maWxlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tZmlsZXMgLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtYWxsZWdhdG8gLmZpZWxkLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1maWxlcyAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC1hbGxlZ2F0byAuZmllbGQtaXRlbSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1maWxlcyAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC1hbGxlZ2F0byAuZmllbGQtaXRlbSBhOmhvdmVyIHtcbiAgY29sb3I6ICM0ODQ3NDc7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIC5wYXJ0bmVyVGl0bGUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tcGFydG5lciAucGFydG5lclRpdGxlIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIC5wYXJ0bmVyVGl0bGUgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIC5wYXJ0bmVyQ292ZXIge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tcGFydG5lciAucGFydG5lckNvdmVyIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIC5wYXJ0bmVyQ292ZXIgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmxvY2NvLXBhcnRuZXIgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG8gcCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tcGFydG5lciAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tcGFydG5lciAucGFydG5lclRpdGxlIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVyIC5wYXJ0bmVyVGl0bGUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgPiAuZmllbGQtbmFtZS1maWVsZC10aXRvbG8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDcwcHggMjBweCAwO1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2JlMjcyZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCA+IC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sbzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAzMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICNiZTI3MmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCA+IC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sby5vcGVuZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgPiAuZmllbGQtbmFtZS1maWVsZC1lbGVtZW50aSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCA+IC5maWVsZC1uYW1lLWZpZWxkLWVsZW1lbnRpID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCA+IC5maWVsZC1uYW1lLWZpZWxkLWVsZW1lbnRpID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW06bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50ID4gLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgPiAuZmllbGQtbmFtZS1maWVsZC10aXRvbG86YWZ0ZXIge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgfVxufVxuXG4uZmFuY3ktdGwgLmZhbmN5Ym94LWJnIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjMsIDMwLCA1MywgMC41KTtcbn1cbi5mYW5jeS10bCAuZmFuY3lib3gtY29udGVudCB7XG4gIHBhZGRpbmc6IDQwcHggMjBweCAyMHB4IDIwcHg7XG59XG4uZmFuY3ktdGwgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuLmZhbmN5LXRsIC5mYW5jeWJveC1jbG9zZS1zbWFsbCBzdmcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZmFuY3ktdGwgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG4uZmFuY3ktdGwgLmZpZWxkLW5hbWUtZmllbGQtYW5ubyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5mYW5jeS10bCAuZmllbGQtbmFtZS1maWVsZC1hbm5vIGJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mYW5jeS10bCAuZmllbGQtbmFtZS1maWVsZC10aXRvbG8ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGNvbG9yOiAjNDg0NzQ3O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmZhbmN5LXRsIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5mYW5jeS10bCAuZmllbGQtbmFtZS1maWVsZC10ZXN0byBwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICBjb2xvcjogIzQ4NDc0Nztcbn1cblxuLmFwcFdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFwcFdyYXBwZXIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5hcHBXcmFwcGVyIGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmFwcFdyYXBwZXIgYTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmFwcFdyYXBwZXIgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYXBwV3JhcHBlciBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYXBwV3JhcHBlciBhOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICB9XG4gIC5hcHBXcmFwcGVyIGE6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDVweCAwIDAgMDtcbiAgfVxufVxuXG5oZWFkZXIudG9wSGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDExMHB4O1xuICB6LWluZGV4OiAyO1xufVxuaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28gaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItc29jaWFsLW1lbnUgdWwubWVudSB7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1zb2NpYWwtbWVudSB1bC5tZW51IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYTpiZWZvcmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYS5zb2NpYWwtZmIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItc29jaWFsLW1lbnUgdWwubWVudSBhLnNvY2lhbC1mYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYS5zb2NpYWwtbG4ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1zb2NpYWwtbWVudSB1bC5tZW51IGEuc29jaWFsLWxuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtc2l6ZTogMDtcbiAgcG9zaXRpb246IGluaXRpYWw7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkID4gbGkge1xuICBoZWlnaHQ6IDExMHB4O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCAyMHB4IDAgMzBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpID4gYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5zdWJtZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgYm9yZGVyOiBub25lO1xuICB6LWluZGV4OiA1O1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5zdWJtZW51ID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5zdWJtZW51ID4gbGkgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGk6bm90KC5tZWdhbWVudSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkIGxpLm1lZ2FtZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMTBweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkIGxpLm1lZ2FtZW51IC5tZW51LnN1Ym1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC01MHZ3O1xuICB3aWR0aDogMTUwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgei1pbmRleDogMDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSAubWVnYXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xufVxuaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCBsaS5tZWdhbWVudSAubWVudS5zdWJtZW51IGxpIHtcbiAgZmxleC1iYXNpczogMjUlO1xuICBwYWRkaW5nOiAzNXB4IDQ1cHg7XG59XG5oZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkIGxpLm1lZ2FtZW51IC5tZW51LnN1Ym1lbnUgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBhOmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBsaS5tb2JpbGVNYWluUGFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDIwcHggNDVweCAwcHggNDVweDtcbn1cbmhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBsaS5tb2JpbGVNYWluUGFnZSBhIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5zdWJtZW51ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBsaSB7XG4gICAgcGFkZGluZzogMjVweCAzMHB4O1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBhOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBoZWFkZXIudG9wSGVhZGVyIHtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28ge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28gaW1nIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpIHtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuc3VibWVudSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCBsaS5tZWdhbWVudSAubWVudS5zdWJtZW51IHtcbiAgICB0b3A6IDkwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLW1haW4tbWVudSAubWVudS5kcm9wZG93bi5leHBhbmRlZCBsaS5tZWdhbWVudSAubWVudS5zdWJtZW51IGxpIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgcGFkZGluZzogMzVweCA0NXB4O1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICB9XG4gIGhlYWRlci50b3BIZWFkZXIgLmhlYWRlci1tYWluLW1lbnUgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudSBhOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuICBoZWFkZXIudG9wSGVhZGVyIC5oZWFkZXItbWFpbi1tZW51IC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkIGxpLm1lZ2FtZW51IC5tZW51LnN1Ym1lbnUgbGkubW9iaWxlTWFpblBhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgaGVhZGVyLnRvcEhlYWRlciB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICNhMzFlMzU7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciA+IC5yb3cuYWxpZ24tbWlkZGxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28ge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciBhLmxvZ28gaW1nIHtcbiAgICB3aWR0aDogMTMwcHg7XG4gIH1cbiAgaGVhZGVyLnRvcEhlYWRlciAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxufVxuXG4ucGhvbmVNb2JpbGVNZW51IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQ6ICNhMzFlMzU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBob25lTW9iaWxlTWVudSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG59XG4ucGhvbmVNb2JpbGVNZW51ID4gdWwubWVudSA+IGxpIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI1JTtcbiAgaGVpZ2h0OiA3MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaSA+IGE6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cbi5waG9uZU1vYmlsZU1lbnUgPiB1bC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwM1wiO1xufVxuLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG59XG4ucGhvbmVNb2JpbGVNZW51ID4gdWwubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGNcIjtcbn1cbi5waG9uZU1vYmlsZU1lbnUgPiB1bC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOVwiO1xufVxuLnBob25lTW9iaWxlTWVudSA+IHVsLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbn1cbi5waG9uZU1vYmlsZU1lbnUgLm1lbnUuc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDcwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xuICBib3JkZXI6IG5vbmU7XG4gIHotaW5kZXg6IDU7XG59XG4ucGhvbmVNb2JpbGVNZW51IC5tZW51LnN1Ym1lbnUgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG59XG4ucGhvbmVNb2JpbGVNZW51IC5tZW51LnN1Ym1lbnUgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnBob25lTW9iaWxlTWVudSBsaS5tZWdhbWVudSAubW9iaWxlTWFpblBhZ2Uge1xuICBwYWRkaW5nOiAwO1xufVxuLnBob25lTW9iaWxlTWVudSBsaS5tZWdhbWVudSAubW9iaWxlTWFpblBhZ2UgYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4ucGhvbmVNb2JpbGVNZW51IGxpLm1lZ2FtZW51IC5tZWdhd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5waG9uZU1vYmlsZU1lbnUgbGkubWVnYW1lbnUgbGkge1xuICBmbGV4LWJhc2lzOiA1MCU7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4ucGhvbmVNb2JpbGVNZW51IGxpLm1lZ2FtZW51IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5waG9uZU1vYmlsZU1lbnUgbGkubWVnYW1lbnUgYTpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbmJvZHkuaGVhZGVyLXR5cGUtc2ltcGxlIGhlYWRlci50b3BIZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xufVxuXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3Jhcmkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuY29sV3JwLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmNvbFdycCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogODBweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgaDMsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSBoMyB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5vLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtdHVybm8ge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5vIHAsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC10dXJubyBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC10dXJubyBzdHJvbmcsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC10dXJubyBzdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8sXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8ge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpbyAub3JhcmlUeHQsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLm9yYXJpVHh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3JhcmlvIC5kYXlUeHQsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLmRheVR4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwJTtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3JhcmlvIC50aW1lc1R4dCxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpbyAudGltZXNUeHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNoaXVzdXJhLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtY2hpdXN1cmEge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNoaXVzdXJhIHAsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYSBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYSBzdHJvbmcsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYSBzdHJvbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMCU7XG4gIG1pbi13aWR0aDogMTcwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5mYXJtYWNpYU1hcCxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5mYXJtYWNpYU1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjYwcHg7XG4gIGJhY2tncm91bmQ6ICNEREQ7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5jb2xXcnAsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuY29sV3JwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTVweCAzMHB4IDYwcHggMzBweDtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgaDMsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBoMyB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gIGNvbG9yOiAjYTMxZTM1O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBwLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIGEsIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgc3Ryb25nLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgYSxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYTMxZTM1O1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBhOmhvdmVyLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjYmUyNzJlO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuZmllbGQtbmFtZS1maWVsZC1waC1jb250YXR0by1jdXN0b20sXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuZmllbGQtbmFtZS1maWVsZC1waC1jb250YXR0by1jdXN0b20ge1xuICBtYXJnaW46IDI1cHggMCAwIDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5tYWlsQ250LFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAubWFpbENudCBhLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCA0NXB4O1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuODEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5tYWlsQ250IGE6aG92ZXIsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAubWFpbENudCBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2JlMjcyZTtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYS5saW5rTW9yZSxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5tYWlsQ250IGEubGlua01vcmUge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmc6IDAgNDVweDtcbiAgbGluZS1oZWlnaHQ6IDIuODc1cmVtO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemksXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYVNlcnZpemkge1xuICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIGg0LFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBoNCB7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyAuZmllbGQtbmFtZS1maWVsZC1oZWFkZXItc3VidGl0bGUsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIC5maWVsZC1uYW1lLWZpZWxkLWhlYWRlci1zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBzcGFuLmNmLW1vcmUsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIHNwYW4uY2YtbW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBzcGFuLmNmLW1vcmU6YmVmb3JlLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBzcGFuLmNmLW1vcmU6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG8gc3Bhbi5mcm1JY28sXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIHNwYW4uZnJtSWNvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIHNwYW4uZnJtSWNvOmJlZm9yZSxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG8gc3Bhbi5mcm1JY286YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4O1xuICBsaW5lLWhlaWdodDogNTVweDtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG8ub3BlbmVkIHNwYW4uY2YtbW9yZTpiZWZvcmUsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvLm9wZW5lZCBzcGFuLmNmLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjtcbn1cbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b0NvbnRlbnQsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUNhc3NldHRvQ29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMzBweCAwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5jb2xXcnAsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5jb2xXcnAge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLmRheVR4dCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3JhcmlvIC5kYXlUeHQge1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLnRpbWVzVHh0LFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLnRpbWVzVHh0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuY29sV3JwLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuY29sV3JwIHtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggNjBweCAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuY29sV3JwLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuY29sV3JwIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggNjBweCAyMHB4O1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgaDMsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC10dXJubyxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtdHVybm8ge1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5vIHAsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5vIHAge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpbyxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3JhcmlvIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW8gLmRheVR4dCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3JhcmlvIC5kYXlUeHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpbyAudGltZXNUeHQsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpbyAudGltZXNUeHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNoaXVzdXJhLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtY2hpdXN1cmEgcCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sT3JhcmkgLmZpZWxkLW5hbWUtZmllbGQtcGgtY2hpdXN1cmEgcCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xPcmFyaSAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYSBzdHJvbmcsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbE9yYXJpIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNoaXVzdXJhIHN0cm9uZyB7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5mYXJtYWNpYU1hcCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLmZhcm1hY2lhTWFwIHtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLmNvbFdycCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLmNvbFdycCB7XG4gICAgcGFkZGluZzogMzBweCAwIDYwcHggMDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIGgzLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBwLFxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2VyIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSBwIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUludHJvIC5jb2xDb250YXR0aSAuZmllbGQtbmFtZS1maWVsZC1waC1jb250YXR0by1jdXN0b20sXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNvbnRhdHRvLWN1c3RvbSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYSxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYSB7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNjI1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYS5saW5rTW9yZSxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYS5saW5rTW9yZSB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhU2Vydml6aSxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFTZXJ2aXppIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBoNCxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIC5maWVsZC1uYW1lLWZpZWxkLWhlYWRlci1zdWJ0aXRsZSxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFDYXNzZXR0b1RpdG9sbyAuZmllbGQtbmFtZS1maWVsZC1oZWFkZXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYUNhc3NldHRvVGl0b2xvIHNwYW4uY2YtbW9yZTpiZWZvcmUsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFDYXNzZXR0b0NvbnRlbnQsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIgLmZhcm1hY2lhQ2Fzc2V0dG9Db250ZW50IHtcbiAgICBtYXJnaW46IDE1cHggMHB4O1xuICB9XG59XG5cbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXIge1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYmUyNzJlO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYS5saW5rV3JpdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhLXRlYXNlciAuZmFybWFjaWFJbnRybyAuY29sQ29udGF0dGkgLm1haWxDbnQgYS5saW5rTW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlcixcbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSxcbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSAuZmllbGQtaXRlbSxcbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIC5maWVsZC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIGltZyxcbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXIgaDQsXG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyLWFsdCBoNCB7XG4gIG1hcmdpbjogMjBweCAwIDVweCAwO1xufVxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlciBoNCBhLFxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlci1hbHQgaDQgYSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBhcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyIGg0LFxuICBhcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyLWFsdCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXIgaDQsXG4gIGFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IGg0IHtcbiAgICBtYXJnaW46IDIwcHggMCA1cHggMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwLFxuICBhcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC44MTI1cmVtO1xuICB9XG59XG5cbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0IGg0IHtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBhcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC44MTI1cmVtO1xuICB9XG59XG5cbmFydGljbGUuY29udGVudC1zZXJ2aXppbyB7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiZTI3MmU7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLmZpZWxkLW5hbWUtZmllbGQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbn1cbmFydGljbGUuY29udGVudC1zZXJ2aXppbyAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSAuZmllbGQtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEzMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZJbnRybyBoNCB7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cbmFydGljbGUuY29udGVudC1zZXJ2aXppbyAuc2VydkludHJvIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZJbnRybyBzcGFuLmNmLW1vcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZJbnRybyBzcGFuLmNmLW1vcmU6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZJbnRyby5vcGVuZWQgc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBkXCI7XG59XG5hcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZEZXRhaWwge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDIwcHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGFydGljbGUuY29udGVudC1zZXJ2aXppbyAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtc2Vydml6aW8gLnNlcnZJbnRybyBoNCB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1zZXJ2aXppbyAuc2VydkludHJvIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvIC5zZXJ2SW50cm8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvIC5zZXJ2SW50cm8gaDQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1zZXJ2aXppbyAuc2VydkludHJvIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvIC5zZXJ2SW50cm8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbmFydGljbGUuY29udGVudC1wZXJzb25hIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuYXJ0aWNsZS5jb250ZW50LXBlcnNvbmEgLmZpZWxkLW5hbWUtZmllbGQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDE1cHggMDtcbn1cbmFydGljbGUuY29udGVudC1wZXJzb25hIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIC5maWVsZC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5hcnRpY2xlLmNvbnRlbnQtcGVyc29uYSAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5hcnRpY2xlLmNvbnRlbnQtcGVyc29uYSAuZmllbGQtbmFtZS1maWVsZC10aXRvbG8sIGFydGljbGUuY29udGVudC1wZXJzb25hIGg0IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5hcnRpY2xlLmNvbnRlbnQtcGVyc29uYSAuZmllbGQtbmFtZS1maWVsZC1jYXJpY2Ege1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGFydGljbGUuY29udGVudC1wZXJzb25hIC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sbywgYXJ0aWNsZS5jb250ZW50LXBlcnNvbmEgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LWNvdmVyLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LWNvdmVyIHtcbiAgbWFyZ2luOiAwIDAgMjVweCAwO1xufVxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1hcnQtY292ZXIgaW1nLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LWNvdmVyIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5hcnRXcnAsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuYXJ0V3JwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMzBweCA4MHB4IDMwcHg7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5hcnRUb3AsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuYXJ0VG9wIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtdHlwZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUgLmZpZWxkLWl0ZW1zLCBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUgLmZpZWxkLWl0ZW1zLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUgLmZpZWxkLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUgLmZpZWxkLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwIDdweCA3cHggMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMSxcbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMSB7XG4gIGJhY2tncm91bmQ6ICNjMmI3YWY7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMixcbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMiB7XG4gIGJhY2tncm91bmQ6ICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMyxcbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtMyB7XG4gIGJhY2tncm91bmQ6ICM5OGNiYzE7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtNCxcbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtLnR5cGUtNCB7XG4gIGJhY2tncm91bmQ6ICMyZjY4NWY7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5kYXRhQXJ0LFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmRhdGFBcnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgaDQsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCBoNCB7XG4gIG1hcmdpbjogMTBweCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHQsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHQgcCxcbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10ZXh0IHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHQgc3Ryb25nLCBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWFydC10ZXh0IGIsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCBzdHJvbmcsXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCBiIHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1hcnQtcGhhcm1hY3ksXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtcGhhcm1hY3kge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDMwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNhMzFlMzU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5waFNlbGVjdG9yLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLnBoU2VsZWN0b3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDMwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5waFNlbGVjdG9yIGEuZ290b1BoLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLnBoU2VsZWN0b3IgYS5nb3RvUGgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmFydFdycCxcbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmFydFdycCB7XG4gICAgcGFkZGluZzogMCAyMHB4IDcwcHggMjBweDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIGg0LFxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5waFNlbGVjdG9yIGEuZ290b1BoLFxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAucGhTZWxlY3RvciBhLmdvdG9QaCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAuYXJ0V3JwLFxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuYXJ0V3JwIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggNjBweCAxNXB4O1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGUgLmZpZWxkLWl0ZW0sXG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5maWVsZC1uYW1lLWZpZWxkLWFydC10eXBlIC5maWVsZC1pdGVtIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDNweCAzcHggMDtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmRhdGFBcnQsXG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5kYXRhQXJ0IHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgaDQsXG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IGg0IHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCxcbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgxMjVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCBwLFxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtdGV4dCBwIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC44MTI1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXBoYXJtYWN5LFxuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuZmllbGQtbmFtZS1maWVsZC1hcnQtcGhhcm1hY3kge1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlciAucGhTZWxlY3RvcixcbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLnBoU2VsZWN0b3Ige1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLnBoU2VsZWN0b3IgYS5nb3RvUGgsXG4gIGFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXItYWx0IC5waFNlbGVjdG9yIGEuZ290b1BoIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIH1cbn1cblxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmFydFdycCB7XG4gIHBhZGRpbmc6IDAgMzBweCAyMHB4IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBhcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLWFsdCAuYXJ0V3JwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweCAyMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHQgLmFydFdycCB7XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHggMTVweDtcbiAgfVxufVxuXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYmUyNzJlO1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmZpZWxkLW5hbWUtZmllbGQtaW1hZ2UgLmZpZWxkLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMzBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gaDQge1xuICBtYXJnaW46IDQwcHggMCAwIDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NJbnRybyAuZmllbGQtbmFtZS1maWVsZC1pbnRyby10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gIGNvbG9yOiAjNDg0NzQ3O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gc3Bhbi5jZi1tb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjYTMxZTM1O1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8ub3BlbmVkIHNwYW4uY2YtbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufVxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NEZXRhaWwgLmNvbHVtbnMgPiAuZmllbGQtbmFtZS1maWVsZC1jb250ZW51dG8gPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cbmFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0RldGFpbCAuY29sdW1ucyA+IC5maWVsZC1uYW1lLWZpZWxkLWNvbnRlbnV0byA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxuICBhcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb24gLmFyZWFBY2NJbnRybyBoNCB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0ludHJvIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5maWVsZC1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gaDQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICB9XG4gIGFydGljbGUuY29udGVudC1hcmVhLWFjY29yZGlvbiAuYXJlYUFjY0ludHJvIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjSW50cm8gc3Bhbi5jZi1tb3JlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbmFydGljbGUuY29udGVudC1jb2ZhaW5mby10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuYXJ0aWNsZS5jb250ZW50LWNvZmFpbmZvLXRlYXNlciAuZmllbGQtY292ZXIgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbmFydGljbGUuY29udGVudC1jb2ZhaW5mby10ZWFzZXIgLmRhdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmFydGljbGUuY29udGVudC1jb2ZhaW5mby10ZWFzZXIgaDQge1xuICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICNhMzFlMzU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5hcnRpY2xlLmNvbnRlbnQtY29mYWluZm8tdGVhc2VyIC5maWVsZC1uYW1lLWJvZHkge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuYXJ0aWNsZS5jb250ZW50LWNvZmFpbmZvLXRlYXNlciAuZmllbGQtbmFtZS1ib2R5IHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5hcnRpY2xlLmNvbnRlbnQtY29mYWluZm8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWxpbmsge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuYXJ0aWNsZS5jb250ZW50LWNvZmFpbmZvLXRlYXNlciAuZmllbGQtbmFtZS1maWVsZC1saW5rIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggNDVweDtcbiAgbWF4LXdpZHRoOiAyNDlweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5hcnRpY2xlLmNvbnRlbnQtY29mYWluZm8tdGVhc2VyIC5maWVsZC1uYW1lLWZpZWxkLWxpbmsgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNiZTI3MmU7XG59XG5cbmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xufVxuZm9vdGVyIC5mb290ZXItdXRpbHMtbWVudSB1bC5tZW51IHtcbiAgZm9udC1zaXplOiAwO1xufVxuZm9vdGVyIC5mb290ZXItdXRpbHMtbWVudSB1bC5tZW51IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmZvb3RlciAuZm9vdGVyLXV0aWxzLW1lbnUgdWwubWVudSBhOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29udGVudDogXCIgLSBcIjtcbn1cbmZvb3RlciAuZm9vdGVyLXV0aWxzLW1lbnUgdWwubWVudSBsaTpsYXN0LW9mLXR5cGUgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5mb290ZXIgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51IHtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5mb290ZXIgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuZm9vdGVyIC5mb290ZXItc29jaWFsLW1lbnUgdWwubWVudSBhOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5mb290ZXIgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51IGEuc29jaWFsLWZiIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuZm9vdGVyIC5mb290ZXItc29jaWFsLW1lbnUgdWwubWVudSBhLnNvY2lhbC1mYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xufVxuZm9vdGVyIC5mb290ZXItc29jaWFsLW1lbnUgdWwubWVudSBhLnNvY2lhbC1sbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuZm9vdGVyIC5mb290ZXItc29jaWFsLW1lbnUgdWwubWVudSBhLnNvY2lhbC1sbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwN1wiO1xufVxuZm9vdGVyIC5mb290ZXItdGV4dCBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5mb290ZXIgLmZvb3Rlci10ZXh0IGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBmb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuICBmb290ZXIgLmZvb3Rlci11dGlscy1tZW51IHVsLm1lbnUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIGZvb3RlciAubGFzdExlZnRDb2wsIGZvb3RlciAubGFzdFJpZ2h0Q29sIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBmb290ZXIgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBmb290ZXIgLmZvb3Rlci10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHotaW5kZXg6IDA7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5oZWFkZXJCYWNrZ3JvdW5kcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAwO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmhlYWRlckJhY2tncm91bmRzIC5oZWFkZXJCZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmhlYWRlckJhY2tncm91bmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICB6LWluZGV4OiAxO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmhlYWRlckJhY2tncm91bmRzLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1saXN0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmhlYWRlckJhY2tncm91bmRzLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay10cmFjayB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5oZWFkZXJUZXh0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmhlYWRlclRleHRzIGgxI3BhZ2VUaXRsZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgY29sb3I6ICM0ODQ3NDc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiA1cHg7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuaGVhZGVyVGV4dHMgaDIucGFnZVNvdHRvdGl0b2xvIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5jb2ZhSGVhZGVyQmxvY2suY2hiLXNpbXBsZSAuaGVhZGVyVGV4dHMge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItc2ltcGxlIC5oZWFkZXJUZXh0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTUwdnc7XG4gIHdpZHRoOiAyMDB2dztcbiAgaGVpZ2h0OiAyNDBweDtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICB6LWluZGV4OiAtMTtcbn1cbmJvZHkuaGVhZGVyLXR5cGUtaW1hZ2VzIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogLTExMHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB6LWluZGV4OiAwO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItaW1hZ2VzIHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogNDUlO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItaW1hZ2VzIC5oZWFkZXJUZXh0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItaW1hZ2VzIC5oZWFkZXJUZXh0cyAuaHRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDcwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrLmNoYi1pbWFnZXMgLmhlYWRlclRleHRzIGgxI3BhZ2VUaXRsZSB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5mYXJtYWNpYSAuaHRXcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrLmZhcm1hY2lhIC50aXRsZXNXcnAge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWEgLmZhcm1haWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWEgLmZhcm1haWNvbjpiZWZvcmUge1xuICBmb250LXNpemU6IDEyMHB4O1xuICBsaW5lLWhlaWdodDogMTIwcHg7XG4gIGNvbG9yOiAjYTMxZTM1O1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5mYXJtYWNpYSAuaGVhZGVyVGV4dHMgaDEjcGFnZVRpdGxlIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuaGVhZGVyVGV4dHMgaDEjcGFnZVRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB9XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5oZWFkZXJUZXh0cyBoMi5wYWdlU290dG90aXRvbG8ge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItc2ltcGxlIC5oZWFkZXJUZXh0cyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItc2ltcGxlIC5oZWFkZXJUZXh0czpiZWZvcmUge1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cbiAgYm9keS5oZWFkZXItdHlwZS1pbWFnZXMgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IC05MHB4O1xuICB9XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWEgLmZhcm1haWNvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5oZWFkZXJUZXh0cyBoMSNwYWdlVGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuaGVhZGVyVGV4dHMgaDIucGFnZVNvdHRvdGl0b2xvIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItc2ltcGxlIC5oZWFkZXJUZXh0cyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItc2ltcGxlIC5oZWFkZXJUZXh0czpiZWZvcmUge1xuICAgIGhlaWdodDogMTIwcHg7XG4gIH1cbiAgYm9keS5oZWFkZXItdHlwZS1pbWFnZXMgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2stcGFnZS1oZWFkZXItYmxvY2sgLmNvZmFIZWFkZXJCbG9jay5jaGItaW1hZ2VzIHtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrLmNoYi1pbWFnZXMgLmhlYWRlclRleHRzIGgxI3BhZ2VUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB9XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWEgLmh0V3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrLmZhcm1hY2lhIC50aXRsZXNXcnAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1wYWdlLWhlYWRlci1ibG9jayAuY29mYUhlYWRlckJsb2NrLmZhcm1hY2lhIC5mYXJtYWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAtMTEwcHggYXV0byA4MHB4IGF1dG87XG4gIHotaW5kZXg6IDA7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAuY29mYUhwV2hlZWxCbG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUb3BTbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY0OHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVG9wU2xpZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICB6LWluZGV4OiAxO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVG9wU2xpZGVyIC53aFRvcFNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUb3BTbGlkZXIuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLWxpc3QsIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFRvcFNsaWRlci5zbGljay1pbml0aWFsaXplZCAuc2xpY2stdHJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUaXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNjBweDtcbiAgbGVmdDogNTAlO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVGl0bGUgaDEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDUuNjI1cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFRpdGxlIGgyIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBjb2xvcjogIzQ4NDc0NztcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFdoZWVsU3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC04MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA4NDBweDtcbiAgaGVpZ2h0OiA0NDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hXaGVlbFN2ZyBzdmcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrICN3aGVlbFN2ZyAuZmFybUdyb3VwOm5vdCguY3VycmVudCkgI25hbWUge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAjd2hlZWxTdmcgLmZhcm1Hcm91cDpub3QoLmN1cnJlbnQpICNmYXJtYWNpYSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3MHB4KSB7XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIHtcbiAgICBtYXJnaW46IC05MHB4IGF1dG8gODBweCBhdXRvO1xuICB9XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFRvcFNsaWRlciB7XG4gICAgaGVpZ2h0OiA1MzBweDtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUaXRsZSB7XG4gICAgdG9wOiAxNjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVGl0bGUgaDEge1xuICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoV2hlZWxTdmcge1xuICAgIHdpZHRoOiA2NDBweDtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sge1xuICAgIG1hcmdpbjogLTYwcHggYXV0byAwIGF1dG87XG4gIH1cbiAgLmJsb2NrLWNvZmEtdXRpbHMuYmxvY2staHAtd2hlZWwtYmxvY2sgLndoVG9wU2xpZGVyIHtcbiAgICBoZWlnaHQ6IDM4MHB4O1xuICB9XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrIC53aFRpdGxlIHtcbiAgICB0b3A6IDE2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUaXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hUaXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hXaGVlbENpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xuICAgIGJvcmRlci1yYWRpdXM6IDcwcHggNzBweCAwcHggMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfVxuICAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAud2hXaGVlbENpcmNsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA2MCU7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuI2Jsb2NrLXVzZXJsb2dpbiB7XG4gIG1heC13aWR0aDogNjkwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4jYmxvY2stdXNlcmxvZ2luIC5ibG9jay10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuI2Jsb2NrLXVzZXJsb2dpbiBmb3JtLnVzZXItbG9naW4tZm9ybSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNibG9jay11c2VybG9naW4gLmpzLWZvcm0taXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQ1JTtcbn1cbiNibG9jay11c2VybG9naW4gW3R5cGU9dGV4dF0sXG4jYmxvY2stdXNlcmxvZ2luIFt0eXBlPXBhc3N3b3JkXSB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogOHB4IDEzcHg7XG59XG4jYmxvY2stdXNlcmxvZ2luIFt0eXBlPXRleHRdOjpwbGFjZWhvbGRlcixcbiNibG9jay11c2VybG9naW4gW3R5cGU9cGFzc3dvcmRdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuI2Jsb2NrLXVzZXJsb2dpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jYmxvY2stdXNlcmxvZ2luIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4jYmxvY2stdXNlcmxvZ2luIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5pcy1pZS0xMSAuYmxvY2stY29mYS11dGlscy5ibG9jay1ocC13aGVlbC1ibG9jayAjd2hlZWxTdmcge1xuICB3aWR0aDogODQwcHg7XG4gIGhlaWdodDogODQwcHg7XG59XG5cbi52aWV3LWVsZW5jby1zZXJ2aXppLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnZpZXctZWxlbmNvLXNlcnZpemkgaGVhZGVyLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgaGVhZGVyIHtcbiAgbWFyZ2luOiA2MHB4IDA7XG59XG4udmlldy1lbGVuY28tc2Vydml6aSBoZWFkZXIgc3BhbixcbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFTZXJ2aXppIGhlYWRlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udmlldy1lbGVuY28tc2Vydml6aSBoZWFkZXIgc3BhbjpiZWZvcmUsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhU2Vydml6aSBoZWFkZXIgc3BhbjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICNiZmI5YjE7XG59XG4udmlldy1lbGVuY28tc2Vydml6aSBoZWFkZXIgc3Bhbjpob3ZlcjpiZWZvcmUsXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhU2Vydml6aSBoZWFkZXIgc3Bhbjpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogI2EzMWUzNTtcbn1cbi52aWV3LWVsZW5jby1zZXJ2aXppIGhlYWRlciBoMyxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFTZXJ2aXppIGhlYWRlciBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY29sb3I6ICNhMzFlMzUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cbi52aWV3LWVsZW5jby1zZXJ2aXppIGhlYWRlciBoMyBzcGFuLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgaGVhZGVyIGgzIHNwYW4ge1xuICBjdXJzb3I6IGF1dG87XG59XG4udmlldy1lbGVuY28tc2Vydml6aSAuc2VydkhwSXRlbXMsXG4udmlldy1lbGVuY28tc2Vydml6aSAuZmllbGQtbmFtZS1maWVsZC1waC1zZXJ2aXppID4gLmZpZWxkLWl0ZW1zLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgLnNlcnZIcEl0ZW1zLFxuYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgLmZpZWxkLW5hbWUtZmllbGQtcGgtc2Vydml6aSA+IC5maWVsZC1pdGVtcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgbWFyZ2luOiAwIC0xMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWV3LWVsZW5jby1zZXJ2aXppIGhlYWRlcixcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgaGVhZGVyIHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgfVxuICAudmlldy1lbGVuY28tc2Vydml6aSBoZWFkZXIgc3BhbjpiZWZvcmUsXG4gIGFydGljbGUuY29udGVudC1mYXJtYWNpYSAuZmFybWFjaWFTZXJ2aXppIGhlYWRlciBzcGFuOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC52aWV3LWVsZW5jby1zZXJ2aXppIGhlYWRlciBoMyxcbiAgYXJ0aWNsZS5jb250ZW50LWZhcm1hY2lhIC5mYXJtYWNpYVNlcnZpemkgaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG59XG5cbi52aWV3LWRldHRhZ2xpby1zZXJ2aXppIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA4MHB4IDA7XG59XG5cbi52aWV3LWFyZWUtYWNjb3JkaW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4udmlldy1lbGVuY28tcGVyc29uZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG4udmlldy1lbGVuY28tcGVyc29uZSBoZWFkZXIge1xuICBtYXJnaW46IDAgMCA2MHB4IDA7XG59XG4udmlldy1lbGVuY28tcGVyc29uZSBoZWFkZXIgaDMge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjYTMxZTM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuLnZpZXctZWxlbmNvLXBlcnNvbmUgaGVhZGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi52aWV3LWVsZW5jby1wZXJzb25lIGhlYWRlciBzcGFuOmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogI2JmYjliMTtcbn1cbi52aWV3LWVsZW5jby1wZXJzb25lIGhlYWRlciBzcGFuOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjYTMxZTM1O1xufVxuLnZpZXctZWxlbmNvLXBlcnNvbmUgLmNvbGxTaW5kSXRlbXMsIC52aWV3LWVsZW5jby1wZXJzb25lIC5jZGFJdGVtcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgbWFyZ2luOiAwIC0xMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWV3LWVsZW5jby1wZXJzb25lIGhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuICAudmlldy1lbGVuY28tcGVyc29uZSBoZWFkZXIgc3BhbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAudmlldy1lbGVuY28tcGVyc29uZSBoZWFkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cbn1cblxuLnZpZXctZWxlbmNvLWZhcm1hY2llIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgODBweCAwO1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5mYXJtYWNpZUxpc3RIZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyICN0b2dTdGF0dXNGYXJtYWNpZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNhMzFlMzU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyICN0b2dTdGF0dXNGYXJtYWNpZTpob3ZlciwgLnZpZXctZWxlbmNvLWZhcm1hY2llIC5mYXJtYWNpZUxpc3RIZWFkZXIgI3RvZ1N0YXR1c0Zhcm1hY2llLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNhMzFlMzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5mYXJtYWNpZUxpc3RIZWFkZXIgI3RvZ1N0YXR1c0Zhcm1hY2llOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2JmYjliMSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNiZmI5YjEgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5mYXJtYWNpZUxpc3RIZWFkZXIgLnRvZ1R5cGVWaXN0YSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCAwIDAgNjBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogI2EzMWUzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyIC50b2dUeXBlVmlzdGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyIC50b2dUeXBlVmlzdGE6aG92ZXI6YmVmb3JlLCAudmlldy1lbGVuY28tZmFybWFjaWUgLmZhcm1hY2llTGlzdEhlYWRlciAudG9nVHlwZVZpc3RhLmN1cnJlbnQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAubWFwSGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICBmb250LXNpemU6IDA7XG59XG4udmlldy1lbGVuY28tZmFybWFjaWUgLm1hcEhlYWRlciBoNCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjNDg0NzQ3O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgLm1hcEZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgLm1hcEZvcm1XcnAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG4udmlldy1lbGVuY28tZmFybWFjaWUgLm1hcEhlYWRlciBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAubWFwSGVhZGVyIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjMmI3YWY7XG4gIGNvbG9yOiAjNDg0NzQ3O1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgI2dlb2xvY01lIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgaW5wdXRbdHlwZT10ZXh0XSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDQwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiZmI5YjE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAjbWFwTWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NTBweDtcbn1cbi52aWV3LWVsZW5jby1mYXJtYWNpZSAudHlwZUNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnZpZXctZWxlbmNvLWZhcm1hY2llIC50eXBlQ29udGVudC5jdXJyZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAudmlldy1lbGVuY28tZmFybWFjaWUgLmZhcm1hY2llTGlzdEhlYWRlciAudG9nVHlwZVZpc3RhIHtcbiAgICBtYXJnaW46IDAgMCAwIDQwcHg7XG4gIH1cbiAgLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgLm1hcEZvcm0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudmlldy1lbGVuY28tZmFybWFjaWUgLm1hcEhlYWRlciAubWFwRm9ybVdycCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSAubWFwSGVhZGVyIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSAubWFwSGVhZGVyICNnZW9sb2NNZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSAubWFwSGVhZGVyIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAzMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICB9XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyICN0b2dTdGF0dXNGYXJtYWNpZSB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC52aWV3LWVsZW5jby1mYXJtYWNpZSAuZmFybWFjaWVMaXN0SGVhZGVyIC50b2dUeXBlVmlzdGEge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxuICAudmlldy1lbGVuY28tZmFybWFjaWUgLmZhcm1hY2llTGlzdEhlYWRlciAudG9nVHlwZVZpc3RhOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAycHg7XG4gIH1cbiAgLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgfVxuICAudmlldy1lbGVuY28tZmFybWFjaWUgLm1hcEhlYWRlciBidXR0b24ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgfVxuICAudmlldy1lbGVuY28tZmFybWFjaWUgLm1hcEhlYWRlciAjZ2VvbG9jQWRkciB7XG4gICAgd2lkdGg6IDcwcHg7XG4gIH1cbiAgLnZpZXctZWxlbmNvLWZhcm1hY2llIC5tYXBIZWFkZXIgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIH1cbn1cblxuLnZpZXctZWxlbmNvLWFydGljb2xpIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpLmNvZmFpbmZvcm1hIHtcbiAgbWFyZ2luOiAwIDAgMTIwcHggMDtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saS5jb2ZhaW5mb3JtYSAuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogLTU1cHg7XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkuY29mYWluZm9ybWEgLnNsaWNrLWRvdHMgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpLmNvZmFpbmZvcm1hIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI2JmYjliMTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpLmNvZmFpbmZvcm1hIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6ICNhMzFlMzU7XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkgaGVhZGVyIHtcbiAgbWFyZ2luOiAxMjBweCAwIDUwcHggMDtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSBoZWFkZXIgaDMge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjYTMxZTM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpIGhlYWRlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkgaGVhZGVyIHNwYW46YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjYmZiOWIxO1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpIGhlYWRlciBzcGFuOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjYTMxZTM1O1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpIC5ub1JlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICBmb250LXNpemU6IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY29sb3I6ICNhMzFlMzU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSAubmV3c0hwSXRlbXMsIC52aWV3LWVsZW5jby1hcnRpY29saSAubmV3c0ZtSXRlbXMge1xuICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gIG1hcmdpbjogMCAtMTBweDtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSAuc2xpY2stdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC52aWV3LWVsZW5jby1hcnRpY29saSAuc2xpY2stc2xpZGUge1xuICAgIGhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkgLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNjBweCBhdXRvO1xuICBmb250LXNpemU6IDA7XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnZpZXctZWxlbmNvLWFydGljb2xpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0tYWN0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTMwcHg7XG4gIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSAudmlld3MtZXhwb3NlZC1mb3JtIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kOiAjYTMxZTM1O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3LWVsZW5jby1hcnRpY29saSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNiZTI3MmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnZpZXctZWxlbmNvLWFydGljb2xpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnZpZXctZWxlbmNvLWFydGljb2xpIGhlYWRlciB7XG4gICAgbWFyZ2luOiA2MHB4IDAgMzBweCAwO1xuICB9XG4gIC52aWV3LWVsZW5jby1hcnRpY29saSBoZWFkZXIgc3BhbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAudmlldy1lbGVuY28tYXJ0aWNvbGkgaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC52aWV3LWVsZW5jby1hcnRpY29saSAubm9SZXMge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC52aWV3LWVsZW5jby1hcnRpY29saSAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gIH1cbiAgLnZpZXctZWxlbmNvLWFydGljb2xpIC52aWV3cy1leHBvc2VkLWZvcm0gLmpzLWZvcm0tdHlwZS1zZWxlY3Qge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTVweCk7XG4gIH1cbiAgLnZpZXctZWxlbmNvLWFydGljb2xpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0tYWN0aW9ucyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgfVxufVxuXG4udmlldy1lbGVuY28tYXJ0aWNvbGkuYXJ0aWNvbGktZmFybSBoZWFkZXIge1xuICBtYXJnaW46IDEyMHB4IDAgMjBweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWV3LWVsZW5jby1hcnRpY29saS5hcnRpY29saS1mYXJtIGhlYWRlciB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMjBweCAwO1xuICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiZmI5YjE7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMTVweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJKb3NlZmluIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDMwcHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJjb2ZhXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIC01MCUpO1xuICBjb250ZW50OiBcIlxcZTgyZVwiO1xuICBmb250LXNpemU6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTMxZTM1O1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBjb2xvcjogI2EzMWUzNSAhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmRcIjtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmZiOWIxO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgYmFja2dyb3VuZDogI2EzMWUzNTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNhMzFlMzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnNlbGVjdDItZHJvcGRvd24uc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnNlbGVjdDItZHJvcGRvd24uc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzFlMzU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMzFlMzU7XG59XG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbmFydGljbGUuY29udGVudC1hcnRpY29sby10ZWFzZXIgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufSIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG5cbi8vIERlZmluaXppb25lIGNvbG9yaSBDb2ZhXG4kcmVkRGFyazogICAgICAgI2EzMWUzNTtcbiRyZWRMaWdodDogICAgICAjYmUyNzJlO1xuJGdyZXlUZXh0OiAgICAgICM0ODQ3NDc7XG4kZ3JleUJmOiAgICAgICAgI2JmYjliMTtcbiRncmV5QzJCOiAgICAgICAjYzJiN2FmO1xuJGJsYWNrOiAgICAgICAgICMwMDAwMDA7IC8vIzBhMGEwYTtcbiR3aGl0ZTogICAgICAgICAjRkZGRkZGOyAvLyNmZWZlZmU7XG5cbiR0eXBlRXNhbWk6ICAgICAjYzJiN2FmO1xuJHR5cGVQcm9tbzogICAgICNhMzFlMzU7XG4kdHlwZUV2ZW50aTogICAgIzk4Y2JjMTtcbiR0eXBlQWx0cm86ICAgICAjMmY2ODVmO1xuXG5cbi8vIEZvbnQgQ29mYVxuJGpvc2VmaW46ICAgICAgJ0pvc2VmaW4gU2FucycsIHNhbnMtc2VyaWY7XG4kZkxpZ2h0OiAgICAgICAgMzAwO1xuJGZOb3JtYWw6ICAgICAgIDQwMDtcbiRmQm9sZDogICAgICAgICA3MDA7XG5cblxuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJGpvc2VmaW47XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNzY4cHgsIC8vNjQwcHgsXG4gIGxhcmdlOiAxMDI1cHgsIC8vMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTMwMHB4LCAvLzE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiBmYWxzZTsgLy90cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vIFBsYWNlIGFueSBEcnVwYWwtcmVsYXRlZCBxdWlya3MgaGVyZS5cbi8qXG4gKiB6dXJiX2ZvdW5kYXRpb24uc2NzcyAtIENvbnRhaW5zIGFsbCBEcnVwYWwtc3BlY2lmaWMgU0FTUyBmb3IgdGhpcyB0aGVtZS5cbiAqXG4gKiBAdG9kbyBTcGxpdCB0aGlzIGludG8gbXVsdGlwbGUgZm9sZGVycy9maWxlcy5cbiovXG5cbi8vIEEgZml4IGZvciBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvOTUzMDM0IC0gVGhlbWVzIGN1cnJlbnRseSBjYW5ub3Rcbi8vIGRldGVybWluZSBpZiBhIHJlZ2lvbiBpcyBlbXB0eVxuXG4ucmVnaW9uLWhpZ2hsaWdodGVkOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gVGhpcyBoYXMgYmVlbiBhbiBpc3N1ZSBzaW5jZSA3LngsIEZvdW5kYXRpb24gcnVsZXMgYWJvdXQgbGlzdCBlbGVtZW50c1xuLy8gYWZmZWN0IE5hdmJhciBzaXppbmcuXG5cbi50b29sYmFyLXRyYXkgYSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLy8gUmVtb3ZlIEZvdW5kYXRpb24ncyB0b3AgbWFyZ2luIGZyb20gdGhlIHRvZ2dsZSBvcmllbnRhdGlvbiBidXR0b24uXG5cbi50b29sYmFyIC50b29sYmFyLXRvZ2dsZS1vcmllbnRhdGlvbiAudG9vbGJhci1pY29uIHtcbiAgbWFyZ2luOiAwO1xuICAvLyBGaXggb2Zmc2V0IHByb2JsZW0gd2hlcmUgaGFsZiBvZiBvcmllbnRhdGlvbiBidXR0b24gaXMgbm90IHZpc2libGUuXG4gICY6YmVmb3JlIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi8vIE92ZXJyaWRlIHN0eWxlcyBmcm9tIC9jb3JlL21vZHVsZXMvc3lzdGVtL2Nzcy9jb21wb25lbnRzL21lbnUudGhlbWUuY3NzXG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5cbi8vIFByZXZlbnRpbmcgVG9wIEJhciBGT1VDXG4vLyBodHRwOi8vZm91bmRhdGlvbi56dXJiLmNvbS9zaXRlcy9kb2NzL3Jlc3BvbnNpdmUtbmF2aWdhdGlvbi5odG1sI3ByZXZlbnRpbmctZm91Y1xuLy8gTW9yZSBpbmZvOiBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvMjc4MzU3M1xuLm5vLWpzIC50b3AtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm8tanMgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uby1qcyAudGl0bGUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgdG9wIGJhciBpZiB0aGUgTmF2YmFyICh0b29sYmFyKSBpcyBwcmVzZW50LlxuXG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjayAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDM5cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gLnN0aWNreS5pcy1zdHVjayAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDc4cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZCAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gUmVtb3ZlcyBjb3JlIGFycm93IGltYWdlIGZyb20gbWVudSBpdGVtcy5cblxuLnRvcC1iYXIge1xuICAubWVudS1pdGVtLS1jb2xsYXBzZWQsLm1lbnUtaXRlbS0tZXhwYW5kZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBTdHlsZSB0aGUgc2VhcmNoIGZvcm0sIGlmIGVtYmVkZGVkIGluIHRoZSBUb3AgQmFyLlxuXG4udG9wLWJhciAuc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAuZm9ybS1pdGVtLWtleXMsIC5mb3JtLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLyBEcm9wZG93biBidXR0b24gc3R5bGluZy5cblxuLmRyb3BidXR0b24td3JhcHBlciB7XG4gIC8vIFN1Yi10aGVtZXMgd2lsbCBoYXZlIHRvIG92ZXJyaWRlIHRoaXMgY29sb3IsIHVuZm9ydHVuYXRlbHkuXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vLyBUb29sYmFyIGZsZXggZml4XG4udG9vbGJhci1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuICAjdG9vbGJhci1hZG1pbmlzdHJhdGlvbnsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuYWRtaW5pbWFsLWFkbWluLXRvb2xiYXJ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIkZm9udEljb25OYW1lOiAnY29mYSc7XG4kZm9udEljb25WZXJzaW9uOiAnMjI2NjY3ODcnO1xuJHRoZW1lSWNvbnM6IChcbiAgYXJyb3ctZG93bjogJ1xcZTgwMCcsXG4gIGFycm93LWxlZnQ6ICdcXGU4MDEnLFxuICBhcnJvdy1yaWdodDogJ1xcZTgwMicsXG4gIGNoaS1zaWFtbzogJ1xcZTgwMycsXG4gIGZhY2Vib29rOiAnXFxlODA0JyxcbiAgZmFybWFjaWU6ICdcXGU4MDUnLFxuICBsaW5rZWRpbjogJ1xcZTgwNycsXG4gIHNvY2k6ICdcXGU4MDknLFxuICB2YW50YWdnaTogJ1xcZTgwYScsXG4gIG1vcmU6ICdcXGU4MGMnLFxuICBsZXNzOiAnXFxlODBkJyxcbiAgZmFybWFjaWEtYmFpYW1vbnRpOiAnXFxlODBlJyxcbiAgZmFybWFjaWEtY2Fub25pY2E6ICdcXGU4MGYnLFxuICBmYXJtYWNpYS1jb2xvbWJvOiAnXFxlODEwJyxcbiAgZmFybWFjaWEtZHVvbW86ICdcXGU4MTEnLFxuICBmYXJtYWNpYS1sYW1hcm1vcmE6ICdcXGU4MTInLFxuICBmYXJtYWNpYS1saW1hOiAnXFxlODEzJyxcbiAgZmFybWFjaWEtbWFuem9uaTogJ1xcZTgxNCcsXG4gIGZhcm1hY2lhLXBvbnRhY2NpbzogJ1xcZTgxNScsXG4gIGZhcm1hY2lhLXNhbnRhZ25lc2U6ICdcXGU4MTYnLFxuICBmYXJtYWNpYS1zZW1waW9uZTogJ1xcZTgxNycsXG4gIGZhcm1hY2lhLXZlcmNlbGxpOiAnXFxlODE4JyxcbiAgZmFybWFjaWEtdml0dG9yaWE6ICdcXGU4MTknLFxuICBzZWxlY3QtY2xvc2U6ICdcXGU4MmQnLFxuICBzZWxlY3Qtb3BlbjogJ1xcZTgyZScsXG4pO1xuXG4vLyBHZW5lcm8gaWwgZm9udC1mYWNlIHBlciBpbCBzZXQgZGkgaWNvbmVcbkBmb250LWZhY2Uge1xuICAkZm9udFVybDogJy4uL2ZvbnRzLycgKyAkZm9udEljb25OYW1lICsgJy8nICsgJGZvbnRJY29uTmFtZTtcbiAgZm9udC1mYW1pbHk6ICRmb250SWNvbk5hbWU7XG4gIHNyYzogdXJsKCRmb250VXJsICsgJy5lb3Q/JyArICRmb250SWNvblZlcnNpb24pO1xuICBzcmM6IHVybCgkZm9udFVybCArICcuZW90PycgKyAkZm9udEljb25WZXJzaW9uICsgJyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCRmb250VXJsICsgJy53b2ZmMj8nICsgJGZvbnRJY29uVmVyc2lvbikgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJGZvbnRVcmwgKyAnLndvZmY/JyArICRmb250SWNvblZlcnNpb24pIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJGZvbnRVcmwgKyAnLnR0Zj8nICsgJGZvbnRJY29uVmVyc2lvbikgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJGZvbnRVcmwgKyAnLnN2Zz8nICsgJGZvbnRJY29uVmVyc2lvbiArICcjJyArICRmb250SWNvbk5hbWUgKyAnJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiY2YtXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgY2YtXCJdOmJlZm9yZSxcbiVpY29uY2Y6YmVmb3JlLCAlaWNvbi1zdHlsZSB7XG4gIGZvbnQtZmFtaWx5OiBcImNvZmFcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmNmLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH0gLyogJ+6ggCcgKi9cbi5jZi1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9IC8qICfuoIEnICovXG4uY2YtYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH0gLyogJ+6ggicgKi9cbi5jZi1jaGktc2lhbW86YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJ+6ggycgKi9cbi5jZi1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfSAvKiAn7qCEJyAqL1xuLmNmLWZhcm1hY2llOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9IC8qICfuoIUnICovXG4uY2YtbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH0gLyogJ+6ghycgKi9cbi5jZi1zb2NpOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDknOyB9IC8qICfuoIknICovXG4uY2YtdmFudGFnZ2k6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYSc7IH0gLyogJ+6giicgKi9cbi5jZi1tb3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGMnOyB9IC8qICfuoIwnICovXG4uY2YtbGVzczpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBkJzsgfSAvKiAn7qCNJyAqL1xuLmNmLWZhcm1hY2lhLWJhaWFtb250aTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBlJzsgfSAvKiAn7qCOJyAqL1xuLmNmLWZhcm1hY2lhLWNhbm9uaWNhOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGYnOyB9IC8qICfuoI8nICovXG4uY2YtZmFybWFjaWEtY29sb21ibzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEwJzsgfSAvKiAn7qCQJyAqL1xuLmNmLWZhcm1hY2lhLWR1b21vOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTEnOyB9IC8qICfuoJEnICovXG4uY2YtZmFybWFjaWEtbGFtYXJtb3JhOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTInOyB9IC8qICfuoJInICovXG4uY2YtZmFybWFjaWEtbGltYTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEzJzsgfSAvKiAn7qCTJyAqL1xuLmNmLWZhcm1hY2lhLW1hbnpvbmk6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNCc7IH0gLyogJ+6glCcgKi9cbi5jZi1mYXJtYWNpYS1wb250YWNjaW86YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNSc7IH0gLyogJ+6glScgKi9cbi5jZi1mYXJtYWNpYS1zYW50YWduZXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTYnOyB9IC8qICfuoJYnICovXG4uY2YtZmFybWFjaWEtc2VtcGlvbmU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNyc7IH0gLyogJ+6glycgKi9cbi5jZi1mYXJtYWNpYS12ZXJjZWxsaTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE4JzsgfSAvKiAn7qCYJyAqL1xuLmNmLWZhcm1hY2lhLXZpdHRvcmlhOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTknOyB9IC8qICfuoJknICovXG4uY2Ytc2VsZWN0LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MmQnOyB9IC8qICfuoK0nICovXG4uY2Ytc2VsZWN0LW9wZW46YmVmb3JlIHsgY29udGVudDogJ1xcZTgyZSc7IH0gLyogJ+6gricgKi9cbiIsIiNtYWluLmNvbHVtbnN7XG4gIGF7IHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbn1cblxuLnJvdy5mdWxsV2lkdGh7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnJvdy5mbGV4LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3d7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3dZe1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi8vIE92ZXJyaWRlIGNvbG9yZVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgc3BhbntcbiAgJi5yZWR7IGNvbG9yOiAkcmVkRGFyazsgfSAvLyAkcmVkTGlnaHQ7XG59XG5cbi8vIEJ1dHRvblxuXG4uYnV0dG9uIHtcbiAgJi5yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWREYXJrO1xuICB9XG59XG5cblxuLy8gQ29va2llXG5kaXYjc2xpZGluZy1wb3B1cHtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gIC5ldS1jb29raWUtY29tcGxpYW5jZS1tZXNzYWdle1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMjBweCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgfVxuXG4gIC5ldS1jb29raWUtY29tcGxpYW5jZS1idXR0b25ze1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLXNlY29uZGFyeS1idXR0b24sXG4gICAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWRlZmF1bHQtYnV0dG9ue1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblxuICAgICAgJjpob3ZlcnsgY29sb3I6ICRyZWRMaWdodDsgfVxuICAgIH1cblxuICAgIC5ldS1jb29raWUtY29tcGxpYW5jZS1zZWNvbmRhcnktYnV0dG9ueyBmb250LXdlaWdodDogJGZCb2xkOyB9XG4gICAgLmV1LWNvb2tpZS1jb21wbGlhbmNlLWRlZmF1bHQtYnV0dG9ueyBmb250LXdlaWdodDogJGZMaWdodDsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAuZXUtY29va2llLWNvbXBsaWFuY2UtbWVzc2FnZXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuICAgIC5ldS1jb29raWUtY29tcGxpYW5jZS1idXR0b25ze1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ3VzdG9taXp6YXppb25lIGluZm9XaW5kb3cgR29vZ2xlIE1hcHNcbi5nbS1zdHlsZSAuZ20tc3R5bGUtaXd7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi5nbS1zdHlsZSAuZ20tc3R5bGUtaXctdDphZnRlcnsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4ucGhJbmZvV2lue1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG5cbiAgaDV7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIGNvbG9yOiAkcmVkRGFyaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICBwe1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gIGF7XG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBjb2xvcjogJHJlZERhcms7XG4gIH1cbn1cbiIsIio6Zm9jdXMge1xuICBvdXRsaW5lOiAwIG5vbmU7XG59XG5cbi8vIFBhcmFncmFmaSBkaSB3cmFwcGluZ1xuLnBhcmFncmFwaC0tdHlwZS0tcmlnYS0xMDAsXG4ucGFyYWdyYXBoLS10eXBlLS1yaWdhLTEzLTIzLFxuLnBhcmFncmFwaC0tdHlwZS0tcmlnYS0yMy0xMntcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG59XG5cbi8vIFBhcmFncmFwaCBcIkJsb2NjbyB0ZXN0b1wiXG4vLyBWaXN0YSBcIlNlcnZpemlcIiAtIGRpc3BsYXkgXCJTZXJ2aXppIEhQXCJcbi8vIFZpc3RhIFwiU2Vydml6aVwiIC0gZGlzcGxheSBcIlNlcnZpemkgRGV0YWlsXCJcbi8vIFRpcG8gZGkgY29udGVudXRvIFwiU2Vydml6aW9cIiAtIGRpc3BsYXkgXCJBbnRlcHJpbWEgYWx0ZXJuYXRpdmFcIlxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJBcmVhIGFjY29yZGlvblwiIC0gZGlzcGxheSBcIkZ1bGwgY29udGVudFwiXG4vLyBQYXJhZ3JhcGggXCJUaW1lbGluZSBDb250YWluZXJcIiAtIHRlc3RvIGludGVybm9cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby10ZXN0byAuZmllbGQtcGFyYWdyYXBoLS1maWVsZC10ZXN0byxcbi52aWV3LWVsZW5jby1zZXJ2aXppIGFydGljbGUgLmZpZWxkLW5hbWUtZmllbGQtYWJzdHJhY3QsXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aSBhcnRpY2xlIC5zZXJ2RGV0YWlsLFxuYXJ0aWNsZS5jb250ZW50LWFyZWEtYWNjb3JkaW9uIC5hcmVhQWNjRGV0YWlsLFxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVyIC5maWVsZC1uYW1lLWZpZWxkLXRlc3Rve1xuXG4gIGgyLCBoMywgaDQsIGg1e1xuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgY29sb3I6ICRncmV5VGV4dDtcbiAgfVxuXG4gIC8vIFRpdG9sbyBkZWwgQ2hpIHNpYW1vXG4gIGgye1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cblxuICAvLyBUaXRvbG8gZGVsIGNvbnNpZ2xpbyBkaSBhbW1pbmlzdHJhemlvbmVcbiAgaDN7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgfVxuXG4gIC8vIFRpdG9sbyBkZWxsJ2VsZW1lbnRvIGRlbGxhIHN0b3JpYVxuICBoNHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG5cbiAgLy8gVGl0b2xvIHBhcmFncmFmbyBpbiBQcml2YWN5XG4gIGg1e1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cblxuICAvLyBUaXRvbG8gYWdnaXVudGl2b1xuICBoNntcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG5cbiAgICBmb250LXdlaWdodDogJGZMaWdodDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgfVxuXG4gIC8vIFN0aWxlIHRlc3RvXG4gIHB7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICY6bGFzdC1vZi10eXBleyBtYXJnaW46IDA7IH1cblxuICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgY29sb3I6ICRncmV5VGV4dDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG5cbiAgLy8gQm9sZCBuZWwgdGVzdG9cbiAgc3Ryb25nLCBieyBmb250LXdlaWdodDogJGZCb2xkOyB9XG5cbiAgLy8gTGluayBzdGFuZGFyZFxuICBhe1xuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICBjb2xvcjogJHJlZERhcms7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyeyBjb2xvcjogJHJlZExpZ2h0OyB9XG4gIH1cblxuICAvLyBFbGVuY2hpIHB1bnRhdGlcbiAgdWx7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBmb250LXdlaWdodDogJGZMaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGNvbG9yZVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBzcGFue1xuICAgICYucmVkeyBjb2xvcjogJHJlZERhcms7IH0gLy8gJHJlZExpZ2h0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoMntcbiAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApOyAvLzYwXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApOyAvLzcwXG4gICAgfVxuICAgIGgze1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7IC8vMzBcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7IC8vNDBcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBoIFwiQmxvY2NvIGltbWFnaW5lXCJcbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1pbW1hZ2luZXtcbiAgLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtaW1tYWdpbmV7XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAvLyBDbGFzc2kgc3VsIHdyYXBwZXIgcGVyIGRlZmluaXJlIGFsbGluZWFtZW50byBlIGRpbWVuc2lvbmVcbiAgLmJsa0ltYWdle1xuXG4gICAgLy8gR2VzdGlzY28gbGEgZGltZW5zaW9uZVxuICAgICYucmVhbF9zaXplIGltZ3t9XG4gICAgJi5mdWxsX3NpemUgaW1ne1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gR2VzdGlzY28gbCdhbGxpbmVhbWVudG9cbiAgICAmLmxlZnQgLmZpZWxkLWl0ZW17IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAmLmNlbnRlciAuZmllbGQtaXRlbXsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgJi5yaWdodCAuZmllbGQtaXRlbXsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgfVxufVxuXG4vLyBQYXJhZ3JhcGggXCJUaW1lbGluZSBDb250YWluZXJcIlxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtY29udGFpbmVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIERlZmluaXppb25lIGJhc2VcbiAgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpICA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVteyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRsRWxlbWVudHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IC00MXB4O1xuICB9XG5cbiAgLy8gQ29sb25uZSBlIHdyYXBwZXJcbiAgLmNvbExlZnQsIC5jb2xSaWdodHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9mbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDE1MHB4KTtcbiAgfVxuICAuY29sQ292ZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtYmFzaXM6IDI1MHB4OyAvLzMwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgfVxuICB9XG4gIC5jb2xXcnB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG4gIC52TWV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHRvcDogNTAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XG4gIH1cblxuXG4gIC8vIEZpZWxkIHN0YW1wYXRpXG4gIC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5le1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG87XG5cbiAgICAuZmllbGQtaXRlbXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuICAuZmllbGQtbmFtZS1maWVsZC1hbm5ve1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICB9XG4gIC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sb3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB9XG4gIC5maWVsZC1uYW1lLWZpZWxkLXRlc3Rve1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQW5ubyBhIHNpbmlzdHJhLCB0ZXN0byBhIGRlc3RyYVxuICAudGxFbGVtZW50LnllYXJPbkxlZnR7XG4gICAgLmNvbENvdmVyOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3RpbWVsaW5lLWN1cnZlLWxlZnQuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgICB9XG5cbiAgICAuY29sTGVmdHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMTUwcHgpO1xuXG4gICAgICAuY29sV3Jwe1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC52TWV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbFJpZ2h0e1xuICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxMDBweCk7XG5cbiAgICAgIC5jb2xXcnB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbW1hZ2luZXsgbWFyZ2luOiA1MHB4IDAgMCA1MHB4OyB9XG4gIH1cblxuICAvLyBUZXN0byBhIHNpbmlzdHJhLCBhbm5vIGEgZGVzdHJhXG4gIC50bEVsZW1lbnQueWVhck9uUmlnaHR7XG4gICAgLmNvbENvdmVyOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3RpbWVsaW5lLWN1cnZlLXJpZ2h0LnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICAgIH1cblxuICAgIC5jb2xSaWdodHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMTUwcHgpO1xuXG4gICAgICAuY29sV3Jwe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAudk1le1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xMZWZ0e1xuICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxMDBweCk7XG5cbiAgICAgIC5jb2xXcnB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5leyBtYXJnaW46IDUwcHggNTBweCAwIDA7IH1cbiAgfVxuXG4gIC8vIFByaW1vIGVsZW1lbnRvXG4gIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSAgPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbTpmaXJzdC1vZi10eXBle1xuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiA0MXB4O1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgfVxuXG4gICAgLnRsRWxlbWVudHsgbWFyZ2luLXRvcDogMDsgfVxuICB9XG5cbiAgLy8gVWx0aW1vIGVsZW1lbnRvXG4gIC5maWVsZC1uYW1lLWZpZWxkLWV2ZW50aSAgPiAuZmllbGQtaXRlbXMgPiAuZmllbGQtaXRlbTpsYXN0LW9mLXR5cGV7XG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogNDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWREYXJrO1xuICAgIH1cblxuICAgICYuaXRtLWV2ZW46YmVmb3JleyBsZWZ0OiAwOyB9XG4gICAgJi5pdG0tb2RkOmJlZm9yZXsgbGVmdDogNTAlOyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpe1xuICAgIC5maWVsZC1uYW1lLWZpZWxkLXRlc3RvIHB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTsgLy8gMTZcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vIDIwXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgLnRsRWxlbWVudHsgbWFyZ2luLXRvcDogLTUwcHg7IH1cblxuICAgIC5jb2xDb3Zlcnsgb3JkZXI6IDE7IH1cbiAgICAuY29sTGVmdCwgLmNvbFJpZ2h0e1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxMDBweCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29sV3Jwe1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtYW5ub3tcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApOyAvLyA2MFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTsgLy8gNjBcblxuICAgICAgYnJ7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gICAgLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xve1xuICAgICAgZm9udC13ZWlnaHQ6IHJlbS1jYWxjKDE4KTsgLy8gMjBcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7IC8vIDIyXG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpICA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVte1xuICAgICAgJjpmaXJzdC1vZi10eXBlOmJlZm9yZXsgd2lkdGg6IDEwMHB4OyB9XG4gICAgICAmOmxhc3Qtb2YtdHlwZTpiZWZvcmV7IHdpZHRoOiAxMDBweDsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpICA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVteyBoZWlnaHQ6IDE3NXB4OyB9XG5cbiAgICAudGxFbGVtZW50eyBtYXJnaW4tdG9wOiAtNTBweDsgfVxuXG4gICAgLmNvbENvdmVye1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBmbGV4LWJhc2lzOiAxMDBweDsgLy8yNTBweDtcbiAgICAgIGhlaWdodDogMTUwcHg7IC8vMzAwcHg7XG4gICAgfVxuICAgIC5jb2xMZWZ0LCAuY29sUmlnaHR7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDEwMHB4KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb2xXcnB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHggIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudk1le1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MCUpO1xuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWltbWFnaW5leyB3aWR0aDogMTAwcHg7IH1cbiAgICAuZmllbGQtbmFtZS1maWVsZC1hbm5ve1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sb3sgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG97IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtZXZlbnRpICA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVte1xuICAgICAgJjpmaXJzdC1vZi10eXBlOmJlZm9yZXtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICB9XG4gICAgICAgICYuaXRtLWV2ZW46YmVmb3JleyBsZWZ0OiAwJTsgfVxuICAgICAgICAmLml0bS1vZGQ6YmVmb3JleyBsZWZ0OiAyMCU7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGxFbGVtZW50LnllYXJPbkxlZnQgLmZpZWxkLW5hbWUtZmllbGQtaW1tYWdpbmV7IG1hcmdpbjogMjVweCAwIDAgMjVweDsgfVxuICAgIC50bEVsZW1lbnQueWVhck9uUmlnaHQgLmZpZWxkLW5hbWUtZmllbGQtaW1tYWdpbmV7IG1hcmdpbjogMjVweCAyNXB4IDAgMDsgfVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBcIkJsb2NjbyBmaWxlc1wiXG4ucGFyYWdyYXBoLS10eXBlLS1ibG9jY28tZmlsZXN7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmZpZWxkLXBhcmFncmFwaC0tZmllbGQtYWxsZWdhdG8gLmZpZWxkLWl0ZW17XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuXG4gICAgYXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICAmOmhvdmVyeyBjb2xvcjogJGdyZXlUZXh0OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBcIkJsb2NjbyBwYXJ0bmVyXCJcbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2Njby1wYXJ0bmVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5wYXJ0bmVyVGl0bGV7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuXG4gICAgYSwgc3BhbntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAucGFydG5lckNvdmVye1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcblxuICAgIGEsIGltZ3tcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGVzdG97XG4gICAgcHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgICY6bGFzdC1vZi10eXBleyBtYXJnaW46IDA7IH1cblxuICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLnBhcnRuZXJUaXRsZXtcbiAgICAgIGEsIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBQYXJhZ3JhcGggXCJBY2NvcmRpb24gQ29udGFpbmVyXCJcbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250YWluZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFBhcmFncmFwaCBcIkFjY29yZGlvbiBDb250ZW50XCJcbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xve1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDcwcHggMjBweCAwO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcmVkTGlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgaWNvbihhZnRlciwgbW9yZSl7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAkcmVkTGlnaHQ7XG4gICAgfVxuXG4gICAgJi5vcGVuZWQ6YWZ0ZXJ7IGNvbnRlbnQ6ICdcXGU4MGQnOyB9IC8vIC5jZi1sZXNzXG4gIH1cblxuICA+IC5maWVsZC1uYW1lLWZpZWxkLWVsZW1lbnRpe1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICA+IC5maWVsZC1pdGVtcyA+IC5maWVsZC1pdGVte1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAmOmxhc3Qtb2YtdHlwZXsgbWFyZ2luOiAwOyB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICA+IC5maWVsZC1uYW1lLWZpZWxkLXRpdG9sb3tcbiAgICAgIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgJjphZnRlcntcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmFuY3lib3ggcGVyIFwiVGltZWxpbmUgQ29udGFpbmVyXCIgc3UgY2VsbHVsYXJlXG4uZmFuY3ktdGx7XG4gIC5mYW5jeWJveC1iZ3sgYmFja2dyb3VuZDogcmdiYSgkcmVkRGFyaywgMC41KTsgfVxuXG4gIC5mYW5jeWJveC1jb250ZW50eyBwYWRkaW5nOiA0MHB4IDIwcHggMjBweCAyMHB4OyB9XG5cbiAgLmZhbmN5Ym94LWNsb3NlLXNtYWxse1xuICAgIHRvcDogNXB4O1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICBzdmd7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIG1vcmUpe1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgfTtcbiAgfVxuICBcblxuICAgLmZpZWxkLW5hbWUtZmllbGQtYW5ub3tcbiAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgIGJyeyBkaXNwbGF5OiBub25lOyB9XG4gICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xve1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5maWVsZC1uYW1lLWZpZWxkLXRlc3Rve1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZk5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRWxlbWVudG8gdGVzdHVhbGUgcGVyIGxlIGFwcFxuLmFwcFdyYXBwZXJ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgYTpmaXJzdC1vZi10eXBleyBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICBhOmxhc3Qtb2YtdHlwZXsgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4gIGltZ3tcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgYXsgd2lkdGg6IDEwMCU7IH1cbiAgICBhOmZpcnN0LW9mLXR5cGV7IG1hcmdpbjogMCAwIDVweCAwOyB9XG4gICAgYTpsYXN0LW9mLXR5cGV7IG1hcmdpbjogNXB4IDAgMCAwOyB9XG4gIH1cbn1cbiIsIi8vIE1peGluIHBlciBpbnNlcmlyZSBsYXRvIHNjc3MgdW4gaWNvbmFcbi8vIEBpbmNsdWRlIGljb24oYmVmb3JlLCBuYW1lKTtcbkBtaXhpbiBpY29uKCRwb3NpdGlvbjogYmVmb3JlLCAkaWNvbjogZmFsc2UpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBib3RoIHsgJHBvc2l0aW9uOiAnYmVmb3JlLCAmOmFmdGVyJzsgfVxuXG4gICY6I3skcG9zaXRpb259IHtcbiAgICBAZXh0ZW5kICVpY29uLXN0eWxlO1xuICAgIEBpZiAkaWNvbiB7IGNvbnRlbnQ6IFwiI3ttYXAtZ2V0KCR0aGVtZUljb25zLCAkaWNvbil9XCI7IH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENPTVBBU1MgTUlYSU5TXG5AbWl4aW4gY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gcmVzZXQtYm94LW1vZGVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1jb250YWluZXI7XG59XG5cbkBtaXhpbiBuby1idWxsZXQge1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QtaXRlbSgkcGFkZGluZzogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzoge1xuICAgICAgbGVmdDogJHBhZGRpbmc7XG4gICAgICByaWdodDogJHBhZGRpbmc7XG4gICAgfTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QoJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmcpO1xuICB9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxufVxuIiwiaGVhZGVyLnRvcEhlYWRlcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDExMHB4O1xuICB6LWluZGV4OiAyO1xuXG4gIC8vIExvZ29cbiAgYS5sb2dve1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJhY2tncm91bmQ6ICRyZWREYXJrO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMjQwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkZXIgc29jaWFsIG1lbnVcbiAgLmhlYWRlci1zb2NpYWwtbWVudXtcbiAgICB1bC5tZW51e1xuICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICBhe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5zb2NpYWwtZmJ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGZhY2Vib29rKTtcbiAgICAgIH1cbiAgICAgIGEuc29jaWFsLWxue1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGxpbmtlZGluKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIZWFkZXIgbWFpbiBtZW51XG4gIC5oZWFkZXItbWFpbi1tZW51e1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAvLyBNZW51IHByaW5jaXBhbGUgc2VtcHJlIHZpc2liaWxlXG4gICAgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWR7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgPiBsaXtcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcblxuICAgICAgICA+IGF7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcblxuICAgICAgICAgIC8vIFRyaWFuZ29sb1xuICAgICAgICAgICY6YWZ0ZXJ7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgICAgJjpob3ZlcnsgYmFja2dyb3VuZDogJHJlZERhcms7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlID4gYXsgYmFja2dyb3VuZDogJHJlZERhcms7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IGRpIHNlY29uZG8gbGl2ZWxsbyBiYXNlXG4gICAgLm1lbnUuc3VibWVudXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB6LWluZGV4OiA1O1xuXG4gICAgICA+IGxpe1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgID4gYXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgICBmb250LXdlaWdodDogJGZOb3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlmZmVyZW56YSB0cmEgbWVnYW1lbnUgKGZhcm1hY2llKSBlZCBhbHRyZSBwYWdpbmVcbiAgICAubWVudS5kcm9wZG93bi5leHBhbmRlZHtcbiAgICAgIGxpOm5vdCgubWVnYW1lbnUpeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGxpLm1lZ2FtZW51e1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgIC5tZW51LnN1Ym1lbnV7XG4gICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMTBweDsgLy8gQWx0ZXp6YSBkZWxsYSBmYXNjaWFcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG5cbiAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogLTUwdnc7XG4gICAgICAgICAgICB3aWR0aDogMTUwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1lZ2F3cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgcGFkZGluZzogMzVweCA0NXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZk5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkubW9iaWxlTWFpblBhZ2V7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA0NXB4IDBweCA0NXB4O1xuXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KXtcbiAgICAuaGVhZGVyLW1haW4tbWVudXtcbiAgICAgIC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkID4gbGkgPiBheyBwYWRkaW5nOiAwIDE1cHggIWltcG9ydGFudDsgfVxuICAgICAgLm1lbnUuc3VibWVudSA+IGxpID4gYXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7IC8vIDE4XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vIDIwXG4gICAgICB9XG4gICAgICAubWVudS5kcm9wZG93bi5leHBhbmRlZCBsaS5tZWdhbWVudSAubWVudS5zdWJtZW51e1xuICAgICAgICBsaXsgcGFkZGluZzogMjVweCAzMHB4OyB9IC8vMzVweCA0NXB4O1xuICAgICAgICBhe1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyAvLyAxOFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vIDIwXG5cbiAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDsgLy8gNjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyAvLyA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgIGhlaWdodDogOTBweDsgLy8gMTEwcHg7XG5cbiAgICBhLmxvZ297XG4gICAgICB3aWR0aDogMjAwcHg7IC8vIDMwMHB4O1xuICAgICAgaGVpZ2h0OiA5MHB4OyAvLyAxMTBweDtcblxuICAgICAgaW1neyB3aWR0aDogMTYwcHg7IH0gLy8gMjQwcHhcbiAgICB9XG5cbiAgICAuaGVhZGVyLW1haW4tbWVudXtcbiAgICAgIC5tZW51LmRyb3Bkb3duLmV4cGFuZGVkID4gbGl7XG4gICAgICAgIGhlaWdodDogOTBweDsgLy8gMTEwcHg7XG5cbiAgICAgICAgPiBhe1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50OyAvLyAwIDIwcHggMCAzMHB4XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7IC8vIDE1XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTsgLy8gMTVcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OyAvLyAzcHhcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWVudS5zdWJtZW51e1xuICAgICAgICA+IGxpID4gYXtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IC8vIDAgMjBweFxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyAvLyAxOFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vIDIwXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1lbnUuZHJvcGRvd24uZXhwYW5kZWQgbGkubWVnYW1lbnUgLm1lbnUuc3VibWVudXtcbiAgICAgICAgdG9wOiA5MHB4OyAvLyBBbHRlenphIGRlbGxhIGZhc2NpYSAxMTBweFxuXG4gICAgICAgIGxpe1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTsgLy8gMjUlXG4gICAgICAgICAgcGFkZGluZzogMzVweCA0NXB4OyAvLyAzNXB4IDQ1cHhcbiAgICAgICAgfVxuXG4gICAgICAgIGF7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7IC8vIDE4XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTsgLy8gMjBcblxuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyAvLyAyMHB4XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7IC8vIDYwcHhcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyAvLyA2MHB4XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkubW9iaWxlTWFpblBhZ2V7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIGhlaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcblxuICAgID4gLnJvdy5hbGlnbi1taWRkbGV7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4gICAgYS5sb2dve1xuICAgICAgd2lkdGg6IDEzMHB4OyAvLyAzMDBweDtcbiAgICAgIGhlaWdodDogNjBweDsgLy8gMTEwcHhcblxuICAgICAgaW1neyB3aWR0aDogMTMwcHg7IH0gLy8yNDBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXNvY2lhbC1tZW51IHVsLm1lbnUgYTpiZWZvcmV7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU3RhbXBhdG8gaW4gZm9vdGVyLmh0bWwudHdpZ1xuLnBob25lTW9iaWxlTWVudXtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQ6ICRyZWREYXJrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuICAvLyBNZW51IHByaW5jaXBhbGUgc2VtcHJlIHZpc2liaWxlXG4gID4gdWwubWVudXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuXG4gICAgPiBsaXtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgID4gYXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZk5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxMik7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpID4gYXsgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGNoaS1zaWFtbyk7IH1cbiAgICAgICY6bnRoLWNoaWxkKDIpID4gYXsgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGZhcm1hY2llKTsgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpID4gYXsgQGluY2x1ZGUgaWNvbihiZWZvcmUsIG1vcmUpOyAgfVxuICAgICAgJjpudGgtY2hpbGQoNCkgPiBheyBAaW5jbHVkZSBpY29uKGJlZm9yZSwgc29jaSk7ICB9XG5cbiAgICAgICYuaXMtYWN0aXZlID4gYXsgYmFja2dyb3VuZDogJHJlZERhcms7IH1cbiAgICB9XG4gIH1cblxuICAvLyBNZW51IGRpIHNlY29uZG8gbGl2ZWxsbyBiYXNlXG4gIC5tZW51LnN1Ym1lbnV7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDcwcHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICA+IGxpe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgID4gYXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmTm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEaWZmZXJlbnphIHRyYSBtZWdhbWVudSAoZmFybWFjaWUpIGVkIGFsdHJlIHBhZ2luZVxuICBsaS5tZWdhbWVudXtcbiAgICAubW9iaWxlTWFpblBhZ2V7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBhe1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVnYXdyYXBwZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIGxpe1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgcGFkZGluZzogMTBweDsgLy8yMHB4IDEwcHg7XG4gICAgfVxuXG4gICAgYXtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmTm9ybWFsO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2UgbGEgcGFnaW5hIG5vbiBoYSBoZWFkZXIgY29uIGltbWFnaW5pIGFsbG9yYSBtZXR0byBpbCBiZyBhIHJvc3NvIGZpc3NvXG5ib2R5LmhlYWRlci10eXBlLXNpbXBsZXtcbiAgaGVhZGVyLnRvcEhlYWRlcnsgYmFja2dyb3VuZDogJHJlZERhcms7IH1cbn1cbiIsIi8vIFRpcG8gZGkgY29udGVudXRvIFwiRmFybWFjaWFcIlxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJGYXJtYWNpYVwiIC0gRGlzcGxheSBcIkFic3RyYWN0XCJcbmFydGljbGUuY29udGVudC1mYXJtYWNpYSxcbmFydGljbGUuY29udGVudC1mYXJtYWNpYS10ZWFzZXJ7XG5cbiAgLy8gRmFzY2lhIGFsdGEgY29uIGRhdGkgaW1wb3J0YXRpIChjb211bmUgZnVsbCBlZCBhYnN0cmFjdClcbiAgLmZhcm1hY2lhSW50cm97XG4gICAgLy8gQ29sb25uYSBpbiByb3NzbyBjb24gb3JhcmkgZSB0dXJuaVxuICAgIC5jb2xPcmFyaXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5jb2xXcnB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogODBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0aWxpenphemlvbmUgY29udGVudXRpXG5cbiAgICAgIGgze1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5ve1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG5cbiAgICAgICAgcHtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBmb250LXdlaWdodDogJGZMaWdodDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZ3sgZm9udC13ZWlnaHQ6ICRmQm9sZDsgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1waC1vcmFyaW97XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcblxuICAgICAgICAub3JhcmlUeHR7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5kYXlUeHR7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbWVzVHh0e1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1waC1jaGl1c3VyYXtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuXG4gICAgICAgIHB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZ3tcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvbm5hIGluIGJpYW5jbyBjb24gaW5mbyBkaSBjb250YXR0b1xuICAgIC5jb2xDb250YXR0aXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmZhcm1hY2lhTWFwe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjREREO1xuICAgICAgfVxuXG4gICAgICAuY29sV3Jwe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHggNjBweCAzMHB4O1xuICAgICAgfVxuXG4gICAgICAvLyBTdGlsaXp6YXppb25lIGNvbnRlbnV0aVxuXG4gICAgICBoM3tcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuXG4gICAgICBhLCBzdHJvbmd7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICAgIGNvbG9yOiAkcmVkRGFyaztcbiAgICAgIH1cbiAgICAgIGE6aG92ZXJ7IGNvbG9yOiAkcmVkTGlnaHQ7IH1cblxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtcGgtY29udGF0dG8tY3VzdG9teyBtYXJnaW46IDI1cHggMCAwIDA7IH1cblxuICAgICAgLm1haWxDbnR7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYXtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWREYXJrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgJjpob3ZlcnsgYmFja2dyb3VuZDogJHJlZExpZ2h0OyB9XG4gICAgICAgIH1cbiAgICAgICAgYS5saW5rTW9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDQ1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZhc2NpYSBkZWkgc2Vydml6aSAoY3NzIGNvbXVuZSBhIC52aWV3LWVsZW5jby1zZXJ2aXppIGUgcGVydGFudG8gbGEgZGVmaW5pemlvbmUgYmFzZSDDqCBpbiBfdmlld3Muc2NzcykgKHBlciBmdWxsKVxuICAuZmFybWFjaWFTZXJ2aXppe1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cblxuICAvLyBGYXNjaWEgcGVyIGlsIHRpdG9sbyBkZWwgY2Fzc2V0dG8gKHBlciBhYnN0cmFjdClcbiAgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG97XG4gICAgaDR7XG4gICAgICBtYXJnaW46IDQwcHggMCAwIDA7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjogJGdyZXlUZXh0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtaGVhZGVyLXN1YnRpdGxle1xuICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBjb2xvcjogJGdyZXlUZXh0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuXG4gICAgc3Bhbi5jZi1tb3Jle1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkcmVkRGFyaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLmZybUljb3tcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVuZWQgc3Bhbi5jZi1tb3JlOmJlZm9yZXsgY29udGVudDogJ1xcZTgwZCc7IH0gLy8uY2YtbGVzc1xuICB9XG5cbiAgLy8gRmFzY2lhIHBlciBpbCBjb250ZW51dG8gZGVsIGNhc3NldHRvIChwZXIgYWJzdHJhY3QpXG4gIC5mYXJtYWNpYUNhc3NldHRvQ29udGVudHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMzBweCAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcbiAgICAuZmFybWFjaWFJbnRyb3tcbiAgICAgIC5jb2xPcmFyaXtcbiAgICAgICAgLmNvbFdycHsgcGFkZGluZzogMjBweDsgfSAvLyA4MHB4O1xuXG4gICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXBoLW9yYXJpb3tcbiAgICAgICAgICAuZGF5VHh0eyBtaW4td2lkdGg6IDEwMHB4OyB9IC8vIDEzMHB4O1xuICAgICAgICAgIC50aW1lc1R4dHsgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbENvbnRhdHRpIC5jb2xXcnB7IHBhZGRpbmc6IDE1cHggMTVweCA2MHB4IDE1cHg7IH0gLy8gMTVweCAzMHB4IDYwcHggMzBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIC5mYXJtYWNpYUludHJve1xuICAgICAgLmNvbE9yYXJpe1xuICAgICAgICAuY29sV3JweyBwYWRkaW5nOiA0MHB4IDIwcHggNjBweCAyMHB4OyB9IC8vODBweDtcblxuICAgICAgICBoM3tcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7IC8vMCAwIDMwcHggMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgLy8yMFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vMjJcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXBoLXR1cm5ve1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgLy8wIDAgNDBweCAwO1xuXG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyAvLzE2XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpOyAvLzIwXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtcGgtb3Jhcmlve1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgLy8wIDAgNDBweCAwO1xuXG4gICAgICAgICAgLmRheVR4dHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA1MHB4O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xM1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8yNlxuICAgICAgICAgIH1cbiAgICAgICAgICAudGltZXNUeHR7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xM1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8yNlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXBoLWNoaXVzdXJhe1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgLy8wIDAgNDBweCAwO1xuXG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyAvLzEzXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApOyAvLzI2XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Ryb25neyBtaW4td2lkdGg6IDE1MHB4OyB9IC8vMTcwXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbENvbnRhdHRpe1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIC5mYXJtYWNpYU1hcHsgaGVpZ2h0OiAxMzBweDsgfSAvLzI2MHB4XG5cbiAgICAgICAgLmNvbFdycHsgcGFkZGluZzogMzBweCAwIDYwcHggMDsgfSAvLzE1cHggMzBweCA2MHB4IDMwcHg7XG5cbiAgICAgICAgaDN7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOyAvLzAgMCAyMHB4IDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7IC8vMjBcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpOyAvLzIyXG4gICAgICAgIH1cblxuICAgICAgICBwe1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyAvLzE2XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTsgLy8yMFxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtcGgtY29udGF0dG8tY3VzdG9teyBtYXJnaW46IDE1cHggMCAwIDA7IH0gLy8yNXB4IDAgMCAwXG5cbiAgICAgICAgLm1haWxDbnR7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDsgLy8xMHB4IDQ1cHhcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApOyAvLzEzXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTApOyAvLzEzXG4gICAgICAgICAgfVxuICAgICAgICAgIGEubGlua01vcmV7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7IC8vNDZcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDsgLy8wIDQ1cHhcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7IC8vNDZcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFybWFjaWFTZXJ2aXppeyBtYXJnaW4tdG9wOiA1MHB4OyB9IC8vODBweFxuXG4gICAgLmZhcm1hY2lhQ2Fzc2V0dG9UaXRvbG97XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luOiAwOyAvLzQwcHggMCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAvLzQwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7IC8vNTBcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtaGVhZGVyLXN1YnRpdGxle1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTsgLy8yMFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTIpOyAvLzIyXG4gICAgICB9XG5cbiAgICAgIHNwYW4uY2YtbW9yZTpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IC8vNDBweFxuICAgICAgfVxuICAgIH1cblxuICAgIC5mYXJtYWNpYUNhc3NldHRvQ29udGVudHsgbWFyZ2luOiAxNXB4IDBweDsgfSAvLzMwcHggMHB4O1xuICB9XG59XG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEtdGVhc2Vye1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcmVkTGlnaHQ7XG5cbiAgLmZhcm1hY2lhSW50cm8gLmNvbENvbnRhdHRpIC5tYWlsQ250e1xuICAgIGEubGlua1dyaXRleyBkaXNwbGF5OiBub25lOyB9XG4gICAgYS5saW5rTW9yZXsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIH1cbn1cblxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJTZXJ2aXppb1wiIC0gZGlzcGxheSBcIkFic3RyYWN0XCJcbi8vIFRpcG8gZGkgY29udGVudXRvIFwiU2Vydml6aW9cIiAtIGRpc3BsYXkgXCJBbnRlcHJpbWEgYWx0ZXJuYXRpdmFcIlxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlcixcbmFydGljbGUuY29udGVudC1zZXJ2aXppby10ZWFzZXItYWx0e1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtaW1hZ2V7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5maWVsZC1pdGVte1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWd7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG5cbiAgaDR7XG4gICAgbWFyZ2luOiAyMHB4IDAgNXB4IDA7XG5cbiAgICBhe1xuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0byBpbiBfZWxlbWVudHMuc2Nzc1xuICAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdHt9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgaDR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgLy8gMjBcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7IC8vIDI0XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoNHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDVweCAwO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgLy8yMFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTsgLy8yNFxuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xNlxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEzKTsgLy8yMFxuICAgIH1cbiAgfVxufVxuYXJ0aWNsZS5jb250ZW50LXNlcnZpemlvLXRlYXNlci1hbHR7XG4gIGg0eyBjb2xvcjogJHJlZERhcms7IH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1hYnN0cmFjdCBwe1xuICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIC5maWVsZC1uYW1lLWZpZWxkLWFic3RyYWN0IHB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xNlxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEzKTsgLy8yMFxuICAgIH1cbiAgfVxufVxuXG4vLyBUaXBvIGRpIGNvbnRlbnV0byBcIlNlcnZpemlvXCIgLSBkaXNwbGF5IFwiRnVsbCBjb250ZW50XCJcbmFydGljbGUuY29udGVudC1zZXJ2aXppb3tcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHJlZExpZ2h0O1xuXG4gIC5maWVsZC1uYW1lLWZpZWxkLWltYWdle1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAuZmllbGQtaXRlbXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuc2VydkludHJve1xuICAgIGg0e1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMCAwO1xuXG4gICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgY29sb3I6ICRncmV5VGV4dDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWludHJvLXRleHR7XG4gICAgICBmb250LXdlaWdodDogJGZMaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG5cbiAgICBzcGFuLmNmLW1vcmV7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbmVkIHNwYW4uY2YtbW9yZTpiZWZvcmV7IGNvbnRlbnQ6ICdcXGU4MGQnOyB9IC8vLmNmLWxlc3NcbiAgfVxuXG4gIC5zZXJ2RGV0YWlse1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAvLyBEZWZpbml0byBpbiBfZWxlbWVudHMuc2Nzc1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG5cbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWd7IHdpZHRoOiAxMTBweDsgfSAvLyAxMzBweDtcblxuICAgIC5zZXJ2SW50cm97XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwOyAvLyA0MHB4IDAgMCAwXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpOyAvLyA0NlxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApOyAvLyA1MFxuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1pbnRyby10ZXh0eyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfSAvLzIwXG5cbiAgICAgIHNwYW4uY2YtbW9yZTpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IC8vIDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWd7IHdpZHRoOiA2MHB4OyB9IC8vMTMwcHhcblxuICAgIC5zZXJ2SW50cm97XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luOiAwOyAvLzQwcHggMCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAvLzQwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7IC8vNTBcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtaW50cm8tdGV4dHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7IC8vMjBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEyKTsgLy8yMlxuICAgICAgfVxuXG4gICAgICBzcGFuLmNmLW1vcmU6YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvLzQwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJQZXJzb25hXCIgLSBkaXNwbGF5IFwiRnVsbCBjb250ZW50XCJcbmFydGljbGUuY29udGVudC1wZXJzb25he1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtaW1hZ2V7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcblxuICAgIC5maWVsZC1pdGVte1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWd7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGl0b2xvLCBoNHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1jYXJpY2F7XG4gICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcbiAgICAuZmllbGQtbmFtZS1maWVsZC10aXRvbG8sIGg0e1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7IC8vIDIwXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApOyAvLyAyMlxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7fVxufVxuXG4vLyBUaXBvIGRpIGNvbnRlbnV0byBcIkFydGljb2xvXCIgLSBkaXNwbGF5IFwiQWJzdHJhY3RcIlxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJBcnRpY29sb1wiIC0gZGlzcGxheSBcIkFudGVwcmltYSBhbHRlcm5hdGl2YVwiXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2VyLFxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHR7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAvLyBDb3ZlclxuICAuZmllbGQtbmFtZS1maWVsZC1hcnQtY292ZXJ7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuXG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBwZXIgc3BhemlvIGxhdGVyYWxlXG4gIC5hcnRXcnB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAzMHB4IDgwcHggMzBweDtcbiAgfVxuXG4gIC8vIFdyYXBwZXIgcGVyIGRhdGEgZSB0aXBvIG5ld3NcbiAgLmFydFRvcHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAvLyBUaXBvIG5ld3NcbiAgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXR5cGV7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAuZmllbGQtaXRlbXMsIC5maWVsZC1pdGVte1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuZmllbGQtaXRlbXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW46IDAgN3B4IDdweCAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICYudHlwZS0xeyBiYWNrZ3JvdW5kOiAkdHlwZUVzYW1pOyB9ICAgLy8gRXNhbWlcbiAgICAgICYudHlwZS0yeyBiYWNrZ3JvdW5kOiAkdHlwZVByb21vOyB9ICAgLy8gUHJvbW9cbiAgICAgICYudHlwZS0zeyBiYWNrZ3JvdW5kOiAkdHlwZUV2ZW50aTsgfSAgLy8gRXZlbnRpXG4gICAgICAmLnR5cGUtNHsgYmFja2dyb3VuZDogJHR5cGVBbHRybzsgfSAgIC8vIEFsdHJvXG4gICAgfVxuICB9XG5cbiAgLy8gRGF0YVxuICAuZGF0YUFydHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgLy8gVGl0b2xvXG4gIGg0e1xuICAgIG1hcmdpbjogMTBweCAwIDIwcHggMDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICBjb2xvcjogJHJlZERhcms7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG5cbiAgLy8gVGVzdG9cbiAgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHR7XG4gICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuXG4gICAgcHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgfVxuXG4gICAgc3Ryb25nLCBieyBmb250LXdlaWdodDogJGZMaWdodCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICAvLyBGYXJtYWNpYSBkaSByaWZlcmltZW50byAoc29sbyBocCAtIHNvc3RpdHVpdG8gY29uIGNvZGljZSBhZCBob2MpXG4gIC5maWVsZC1uYW1lLWZpZWxkLWFydC1waGFybWFjeXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJHJlZERhcms7XG5cbiAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNlbGV6aW9uZSBkZWxsYSBmYXJtYWNpYVxuICAucGhTZWxlY3RvcntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvLyBMaW5rIGFsbGEgZmFybWFjaWEgZGkgcmlmZXJpbWVudG8gKHNvbG8gaHApXG4gICAgYS5nb3RvUGh7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3QgcGVyIGxhIGZhcm1hY2lhIGRpIHJpZmVyaW1lbnRvIChzb2xvIGhwKVxuICAgIHNlbGVjdC5nb3RvUGhTZWx7fVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgLmFydFdycHsgcGFkZGluZzogMCAyMHB4IDcwcHggMjBweDsgfSAvLyAwIDMwcHggNjBweCAzMHB4O1xuXG4gICAgaDR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgLy8gMjBcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7IC8vIDI0XG4gICAgfVxuXG4gICAgLnBoU2VsZWN0b3IgYS5nb3RvUGh7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIC5hcnRXcnB7IHBhZGRpbmc6IDAgMTVweCA2MHB4IDE1cHg7IH0gLy8wIDMwcHggNjBweCAzMHB4XG5cbiAgICAuZmllbGQtbmFtZS1maWVsZC1hcnQtdHlwZSAuZmllbGQtaXRlbXtcbiAgICAgIGhlaWdodDogMjBweDsgLy8yNHB4O1xuICAgICAgbWFyZ2luOiAwIDNweCAzcHggMDsgLy8wIDdweCA3cHggMDtcbiAgICAgIHBhZGRpbmc6IDAgNnB4OyAvLzAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApOyAvLyAxM1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8yNFxuICAgIH1cbiAgICAuZGF0YUFydHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApOyAvLyAxM1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8yNFxuICAgIH1cblxuICAgIGg0e1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IC8vMTBweCAwIDIwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyAvLzIwXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpOyAvLzI0XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXRleHR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xNlxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEzKTsgLy8yMFxuXG4gICAgICBwe1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8xNlxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTMpOyAvLzIwXG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtYXJ0LXBoYXJtYWN5e1xuICAgICAgbGVmdDogMzBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAucGhTZWxlY3RvcntcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cbiAgICAgIGEuZ290b1Boe1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuYXJ0aWNsZS5jb250ZW50LWFydGljb2xvLXRlYXNlci1hbHR7XG4gIC5hcnRXcnB7IHBhZGRpbmc6IDAgMzBweCAyMHB4IDMwcHg7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcbiAgICAuYXJ0V3JweyBwYWRkaW5nOiAwIDIwcHggMjBweCAyMHB4OyB9IC8vIDAgMzBweCAyMHB4IDMwcHhcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmFydFdycHsgcGFkZGluZzogMCAxNXB4IDE1cHggMTVweDsgfSAvLyAwIDMwcHggMjBweCAzMHB4XG4gIH1cbn1cblxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJBcmVhIGFjY29yZGlvblwiIC0gZGlzcGxheSBcIkZ1bGwgY29udGVudFwiXG5hcnRpY2xlLmNvbnRlbnQtYXJlYS1hY2NvcmRpb257XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWRMaWdodDtcblxuICAuZmllbGQtbmFtZS1maWVsZC1pbWFnZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLmZpZWxkLWl0ZW17XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG5cbiAgLmFyZWFBY2NJbnRyb3tcbiAgICBoNHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDAgMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9XG5cbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbnRyby10ZXh0e1xuICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBjb2xvcjogJGdyZXlUZXh0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuXG4gICAgc3Bhbi5jZi1tb3Jle1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkcmVkRGFyaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5lZCBzcGFuLmNmLW1vcmU6YmVmb3JleyBjb250ZW50OiAnXFxlODBkJzsgfSAvLy5jZi1sZXNzXG4gIH1cblxuICAuYXJlYUFjY0RldGFpbHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgLy8gU3BhemlvIHR1dHRpIGdsaSBlbGVtZW50aSB0cmEgZGkgbG9yb1xuICAgIC5jb2x1bW5zID4gLmZpZWxkLW5hbWUtZmllbGQtY29udGVudXRvID4gLmZpZWxkLWl0ZW1zID4gLmZpZWxkLWl0ZW17XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICY6bGFzdC1vZi10eXBleyBtYXJnaW46IDA7IH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWd7IHdpZHRoOiAxMTBweDsgfSAvLyAxMzBweDtcblxuICAgIC5hcmVhQWNjSW50cm97XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwOyAvLyA0MHB4IDAgMCAwXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpOyAvLyA0NlxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApOyAvLyA1MFxuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1pbnRyby10ZXh0eyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfSAvLzIwXG5cbiAgICAgIHNwYW4uY2YtbW9yZTpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IC8vIDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFyZWFBY2NEZXRhaWx7fVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1pbWFnZSBpbWd7IHdpZHRoOiA2MHB4OyB9IC8vMTMwcHhcblxuICAgIC5hcmVhQWNjSW50cm97XG4gICAgICBoNHtcbiAgICAgICAgbWFyZ2luOiAwOyAvLzQwcHggMCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAvLzQwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7IC8vNTBcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtaW50cm8tdGV4dHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7IC8vMjBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEyKTsgLy8yMlxuICAgICAgfVxuXG4gICAgICBzcGFuLmNmLW1vcmU6YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvLzQwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGlwbyBkaSBjb250ZW51dG8gXCJDb2ZhIGluZm9ybWFcIiAtIGRpc3BsYXkgXCJBYnN0cmFjdFwiXG5hcnRpY2xlLmNvbnRlbnQtY29mYWluZm8tdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAvLyBDb3ZlclxuICAuZmllbGQtY292ZXJ7XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICAvLyBEYXRhXG4gIC5kYXRhe1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAvLyBUaXRvbG9cbiAgaDR7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgIGNvbG9yOiAkcmVkRGFyaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICAvLyBUZXN0b1xuICAuZmllbGQtbmFtZS1ib2R5e1xuICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICBwe1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBmb250LXdlaWdodDogJGZMaWdodCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gIH1cbiAgXG4gIC5maWVsZC1uYW1lLWZpZWxkLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgYXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggNDVweDtcbiAgICAgIG1heC13aWR0aDogMjQ5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxMyk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgJjpob3ZlcnsgYmFja2dyb3VuZDogJHJlZExpZ2h0OyB9XG4gICAgfVxuICB9XG59XG4iLCJmb290ZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcblxuICAvLyBGb290ZXIgdXRpbGl0eSBtZW51XG4gIC5mb290ZXItdXRpbHMtbWVudXtcbiAgICB1bC5tZW51e1xuICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICBhe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBjb250ZW50OiBcIiAtIFwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpOmxhc3Qtb2YtdHlwZSBhOmFmdGVyeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gRm9vdGVyIHNvY2lhbCBtZW51XG4gIC5mb290ZXItc29jaWFsLW1lbnV7XG4gICAgdWwubWVudXtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgYXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuc29jaWFsLWZie1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBmYWNlYm9vayk7XG4gICAgICB9XG4gICAgICBhLnNvY2lhbC1sbntcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBsaW5rZWRpbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2NvIHRlc3R1YWxlIG5lbCBmb290ZXJcbiAgLmZvb3Rlci10ZXh0e1xuICAgIHB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIGF7XG4gICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIC8vbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAuZm9vdGVyLXV0aWxzLW1lbnUgdWwubWVudXsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuICAgIC5sYXN0TGVmdENvbCwgLmxhc3RSaWdodENvbHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1zb2NpYWwtbWVudSB1bC5tZW51eyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4gICAgLmZvb3Rlci10ZXh0eyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgfVxufVxuIiwiLy8gUGFnZSBIZWFkZXIgQmxvY2tcbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLXBhZ2UtaGVhZGVyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB6LWluZGV4OiAwO1xuXG4gIC8vIFdyYXBwZXIgaW50ZXJub1xuICAuY29mYUhlYWRlckJsb2Nre1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENyb3AgMTQ0MHg2NDBcbiAgLmhlYWRlckJhY2tncm91bmRze1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcblxuICAgIC5oZWFkZXJCZ3tcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiKDAsMCwwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMC40NSkgMCUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIHNsaWNrXG4gICAgJi5zbGljay1pbml0aWFsaXplZHtcbiAgICAgIC5zbGljay1saXN0eyBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5zbGljay10cmFja3sgaGVpZ2h0OiAxMDAlOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pemlvbmUgZGVpIHRlc3RpXG4gIC5oZWFkZXJUZXh0c3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuaHRXcmFwcGVye31cblxuICAgIGgxI3BhZ2VUaXRsZXtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDtcbiAgICB9XG5cbiAgICBoMi5wYWdlU290dG90aXRvbG97XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZk5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVmFyaWFudGUgMSAtIGhlYWRlciBzZW1wbGljZVxuICAvLyAtIGdlc3Rpc2NvIGxhIHNmdW1hdHVyYSBzdWwgdGVzdG9cbiAgYm9keS5oZWFkZXItdHlwZS1zaW1wbGUgJiB7fVxuXG4gIC5jb2ZhSGVhZGVyQmxvY2suY2hiLXNpbXBsZXtcbiAgICAuaGVhZGVyVGV4dHN7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtNTB2dztcbiAgICAgICAgd2lkdGg6IDIwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwwLDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDAuMzUpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVmFyaWFudGUgMiAtIGhlYWRlciBpbW1hZ2luaVxuICAvLyAtIGFsem8gbG8gc2xpZGVyIHBlciBwb3J0YXJsbyBzb3R0byBhbGxhIGJhcnJhXG4gIC8vIC0gcG9ydG8gaW4gYWJzb2x1dGUgZSBnZXN0aXNjbyBsYSBzZnVtYXR1cmEgc3VsbGUgaW1tYWdpbmlcbiAgYm9keS5oZWFkZXItdHlwZS1pbWFnZXMgJiB7XG4gICAgbWFyZ2luLXRvcDogLTExMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgei1pbmRleDogMDsgLy8gLTE7XG4gIH1cblxuICAuY29mYUhlYWRlckJsb2NrLmNoYi1pbWFnZXN7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA0NSU7XG5cbiAgICAuaGVhZGVyVGV4dHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmh0V3JhcHBlcntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDcwJTsgLy8gNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTtcbiAgICAgIH1cblxuICAgICAgaDEjcGFnZVRpdGxleyBtYXJnaW46IDIwcHggMDsgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBWYXJpYW50ZSAzIC0gaGVhZGVyIHBlciBmYXJtYWNpZVxuICAuY29mYUhlYWRlckJsb2NrLmZhcm1hY2lhIHtcblxuICAgIC5odFdyYXBwZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAudGl0bGVzV3Jwe1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5mYXJtYWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXJUZXh0c3tcbiAgICAgIGgxI3BhZ2VUaXRsZXsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgLmhlYWRlclRleHRze1xuICAgICAgaDEjcGFnZVRpdGxle1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTsgLy8gNjBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTsgLy8gNjBcbiAgICAgIH1cblxuICAgICAgaDIucGFnZVNvdHRvdGl0b2xve1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTsgLy8gMzBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTsgLy8gNDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29mYUhlYWRlckJsb2NrLmNoYi1zaW1wbGV7XG4gICAgICAuaGVhZGVyVGV4dHN7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4OyAvLyAxMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IC8vIDUwcHg7XG5cbiAgICAgICAgJjpiZWZvcmV7IGhlaWdodDogMjAwcHg7IH0gLy8gMjQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYm9keS5oZWFkZXItdHlwZS1pbWFnZXMgJiB7IG1hcmdpbi10b3A6IC05MHB4OyB9IC8vIC0xMTBweDtcblxuICAgIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWF7XG4gICAgICAuZmFybWFpY29uOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiA4MHB4OyAvLyAxMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7IC8vIDEyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmhlYWRlclRleHRze1xuICAgICAgaDEjcGFnZVRpdGxle1xuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDsgLy8wIDAgMjBweCAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTsgLy82MFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpOyAvLzYwXG4gICAgICB9XG4gICAgICBoMi5wYWdlU290dG90aXRvbG97XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyAvLzMwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7IC8vNDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29mYUhlYWRlckJsb2NrLmNoYi1zaW1wbGUgLmhlYWRlclRleHRze1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7IC8vMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgLy81MHB4O1xuICAgICAgJjpiZWZvcmV7IGhlaWdodDogMTIwcHg7IH0gLy8yNDBweDtcbiAgICB9XG5cbiAgICBib2R5LmhlYWRlci10eXBlLWltYWdlcyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC02MHB4OyAvLy0xMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IC8vODBweDtcbiAgICB9XG5cbiAgICAuY29mYUhlYWRlckJsb2NrLmNoYi1pbWFnZXN7XG4gICAgICBoZWlnaHQ6IDYwdmg7IC8vMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgICAgcGFkZGluZzogMDsgLy80NSU7XG5cbiAgICAgIC5oZWFkZXJUZXh0cyBoMSNwYWdlVGl0bGV7IG1hcmdpbjogMCAwIDEwcHggMDsgfSAvLzIwcHggMFxuICAgIH1cblxuICAgIC5jb2ZhSGVhZGVyQmxvY2suZmFybWFjaWF7XG4gICAgICAuaHRXcmFwcGVyeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAudGl0bGVzV3Jwe1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgLy8yMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vbGVmdFxuICAgICAgfVxuXG4gICAgICAuZmFybWFpY29uOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4OyAvLzEyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDsgLy8xMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSHAgV2hlZWwgQmxvY2tcbi5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2Nre1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAtMTEwcHggYXV0byA4MHB4IGF1dG87XG4gIHotaW5kZXg6IDA7IC8vLTE7XG5cbiAgLy8gV3JhcHBlciBkZWwgY29udGVudXRvXG4gIC5jb2ZhSHBXaGVlbEJsb2Nre1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFNsaWRlciBpbiBhbHRvXG4gIC53aFRvcFNsaWRlcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigwLDAsMCk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDAuNDUpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAud2hUb3BTbGlkZXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmLnNsaWNrLWluaXRpYWxpemVke1xuICAgICAgLnNsaWNrLWxpc3QsIC5zbGljay10cmFja3sgaGVpZ2h0OiAxMDAlOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2NvIGRlbCB0aXRvbG9cbiAgLndoVGl0bGV7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTYwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuXG4gICAgaDF7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgICBjb2xvcjogJGdyZXlUZXh0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaDJ7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZk5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGRlbGxhIHJ1b3RhXG4gIC53aFdoZWVsU3Zne1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC04MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogODQwcHg7XG4gICAgaGVpZ2h0OiA0NDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG5cbiAgICBzdmd7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyBJbnRlcmF6aW9uZSBjb24gbGEgd2hlZWxcbiAgI3doZWVsU3Zne1xuICAgIC5mYXJtR3JvdXA6bm90KC5jdXJyZW50KXtcbiAgICAgICNuYW1leyBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICNmYXJtYWNpYXsgb3BhY2l0eTogMC41OyB9XG4gICAgICAjaWNvbmF7fVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3MHB4KXtcbiAgICAud2hUaXRsZXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgIG1hcmdpbjogLTkwcHggYXV0byA4MHB4IGF1dG87XG5cbiAgICAud2hUb3BTbGlkZXJ7IGhlaWdodDogNTMwcHg7IH0gLy8gNjQ4cHhcblxuICAgIC53aFRpdGxle1xuICAgICAgdG9wOiAxNjBweDsgLy8gMTYwcHhcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBoMXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3MCk7IC8vIDgwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg4MCk7IC8vIDkwXG4gICAgICB9XG4gICAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7IC8vIDM0XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7IC8vIDQwXG4gICAgICB9XG4gICAgfVxuXG4gICAgLndoV2hlZWxTdmd7XG4gICAgICB3aWR0aDogNjQwcHg7IC8vIDg0MHB4O1xuICAgICAgaGVpZ2h0OiAzMjBweDsgLy8gNDQwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBtYXJnaW46IC02MHB4IGF1dG8gMCBhdXRvO1xuXG4gICAgLndoVG9wU2xpZGVyeyBoZWlnaHQ6IDM4MHB4OyB9IC8vIDY0OHB4XG5cbiAgICAud2hUaXRsZXtcbiAgICAgIHRvcDogMTYwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaDF7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpOyAvLyA4MFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzgpOyAvLyA5MFxuICAgICAgfVxuXG4gICAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7IC8vIDM0XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7IC8vIDQwXG4gICAgICB9XG4gICAgfVxuXG4gICAgLndoV2hlZWxDaXJjbGV7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDcwcHggNzBweCAwcHggMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcblxuICAgICAgYXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA2MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTtcblxuICAgICAgICBmb250LXdlaWdodDogJGZOb3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBibG9jay11c2VybG9naW5cblxuI2Jsb2NrLXVzZXJsb2dpbiB7XG4gIG1heC13aWR0aDogNjkwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIFxuICAuYmxvY2stdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG4gIFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgfVxuIFxuICAuanMtZm9ybS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ1JTtcbiAgfVxuICBcbiAgW3R5cGU9dGV4dF0sXG4gIFt0eXBlPXBhc3N3b3JkXSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDhweCAxM3B4O1xuICAgIFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgfVxuICBcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuIFxuICB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbmJvZHkuaXMtaWUtMTF7XG4gIC5ibG9jay1jb2ZhLXV0aWxzLmJsb2NrLWhwLXdoZWVsLWJsb2NrICN3aGVlbFN2Z3tcbiAgICB3aWR0aDogODQwcHg7XG4gICAgaGVpZ2h0OiA4NDBweDtcbiAgfVxufVxuIiwiLy8gVmlzdGEgXCJTZXJ2aXppXCIgLSBkaXNwbGF5IFwiU2Vydml6aSBIUFwiXG4vLyBUaXBvIGRpIGNvbnRlbnV0byBGYXJtYWNpYSAtIEZhc2NpYSBkZWkgc2Vydml6aVxuLnZpZXctZWxlbmNvLXNlcnZpemksXG5hcnRpY2xlLmNvbnRlbnQtZmFybWFjaWEgLmZhcm1hY2lhU2Vydml6aXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBoZWFkZXJ7XG4gICAgbWFyZ2luOiA2MHB4IDAgO1xuXG4gICAgc3BhbntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogJGdyZXlCZjtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcjpiZWZvcmV7IGNvbG9yOiAkcmVkRGFyazsgfVxuICAgIH1cblxuICAgIGgze1xuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGNvbG9yOiAkcmVkRGFyayAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG5cbiAgICAgIHNwYW57IGN1cnNvcjogYXV0bzsgfVxuICAgIH1cbiAgfVxuXG4gIC5zZXJ2SHBJdGVtcyxcbiAgLmZpZWxkLW5hbWUtZmllbGQtcGgtc2Vydml6aSA+IC5maWVsZC1pdGVtc3tcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoZWFkZXJ7XG4gICAgICBtYXJnaW46IDMwcHggMDsgLy8gNjBweCAwO1xuXG4gICAgICBzcGFuOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyAvLzI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvLzMwcHg7XG4gICAgICB9XG5cbiAgICAgIGgze1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgLy8gMzBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8zMFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWaXN0YSBcIlNlcnZpemlcIiAtIGRpc3BsYXkgXCJTZXJ2aXppIERldGFpbFwiXG4udmlldy1kZXR0YWdsaW8tc2Vydml6aXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA4MHB4IDA7XG59XG5cbi8vIFZpc3RhIFwiQXJlZSBhY2NvcmRpb25cIiAtIHR1dHRpIGkgZGlzcGxheVxuLnZpZXctYXJlZS1hY2NvcmRpb257XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gVmlzdGEgXCJQZXJzb25lXCIgLSBkaXNwbGF5IFwiU2Vydml6aSBEZXRhaWxcIlxuLnZpZXctZWxlbmNvLXBlcnNvbmV7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgaGVhZGVye1xuICAgIG1hcmdpbjogMCAwIDYwcHggMCA7XG5cbiAgICBoM3tcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9XG5cbiAgICBzcGFue1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkZ3JleUJmO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyOmJlZm9yZXsgY29sb3I6ICRyZWREYXJrOyB9XG4gICAgfVxuICB9XG5cbiAgLmNvbGxTaW5kSXRlbXMsIC5jZGFJdGVtc3tcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoZWFkZXJ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICBzcGFuOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyAvLzI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvLzMwcHg7XG4gICAgICB9XG5cbiAgICAgIGgze1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgLy8gMzBcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8zMFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWaXN0YSBcIkZhcm1hY2llXCIgLSBkaXNwbGF5IFwiRWxlbmNvIGZhcm1hY2llXCIgKHZpZXdzLXZpZXctLWZhcm1hY2llLS1mYXJtYWNpZS1saXN0Lmh0bWwudHdpZylcbi52aWV3LWVsZW5jby1mYXJtYWNpZXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgODBweCAwO1xuXG4gIC8vIEhlYWRlciBjb24gbGEgc2NlbHRhIGRlbCBtb2RvIGRpIHZpc3VhbGl6emF6aW9uZVxuICAuZmFybWFjaWVMaXN0SGVhZGVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICN0b2dTdGF0dXNGYXJtYWNpZXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWREYXJrO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjogJHJlZERhcms7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICAgJjpob3ZlciwgJi5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWREYXJrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleUJmICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXlCZiAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwLjQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9nVHlwZVZpc3Rhe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMCA2MHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcjpiZWZvcmUsICYuY3VycmVudDpiZWZvcmV7IGJhY2tncm91bmQ6ICRyZWREYXJrOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGVyIGRlbGxhIHJpY2VyY2EgcGVyIGxhIG1hcHBhXG4gIC5tYXBIZWFkZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICBoNHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGNvbG9yOiAkZ3JleVRleHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG5cbiAgICAubWFwRm9ybXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAubWFwRm9ybVdycHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYnV0dG9ue1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5QzJCO1xuICAgICAgICBjb2xvcjogJGdyZXlUZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICAjZ2VvbG9jTWV7IG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG4gICAgaW5wdXRbdHlwZT0ndGV4dCdde1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQ0MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5QmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmTGlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwYXppbyBkZWxsYSBtYXBwYVxuICAjbWFwTWFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICB9XG5cbiAgLy8gR2VzdGlvbmUgZGVpIHRhYlxuICAudHlwZUNvbnRlbnR7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuY3VycmVudHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgIC5mYXJtYWNpZUxpc3RIZWFkZXIgLnRvZ1R5cGVWaXN0YXsgbWFyZ2luOiAwIDAgMCA0MHB4OyB9XG5cbiAgICAubWFwSGVhZGVye1xuICAgICAgLm1hcEZvcm17IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgICAubWFwRm9ybVdycHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgYnV0dG9ueyBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAgICNnZW9sb2NNZXsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICBpbnB1dFt0eXBlPSd0ZXh0J117IHdpZHRoOiAzMjBweDsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwOyAvLzAgMCA4MHB4IDBcblxuICAgIC5mYXJtYWNpZUxpc3RIZWFkZXJ7XG4gICAgICAjdG9nU3RhdHVzRmFybWFjaWV7XG4gICAgICAgIGhlaWdodDogMjBweDsgLy81MHB4XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgLy8wIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApOyAvLzIwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7IC8vNTBcbiAgICAgIH1cbiAgICAgIC50b2dUeXBlVmlzdGF7XG4gICAgICAgIGhlaWdodDogMjBweDsgLy81MHB4XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMzBweDsgLy8wIDAgMCA2MHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTsgLy8yMFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApOyAvLzUwXG5cbiAgICAgICAgJjpiZWZvcmV7IGhlaWdodDogMnB4OyB9IC8vNXB4XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcEhlYWRlcntcbiAgICAgIGg0e1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTsgLy8yMFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpOyAvLzMwXG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbntcbiAgICAgICAgaGVpZ2h0OiA0MHB4OyAvLzUwcHhcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgLy8wIDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyAvLzE0XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7IC8vNTBcbiAgICAgIH1cbiAgICAgICNnZW9sb2NBZGRyeyB3aWR0aDogNzBweDsgfVxuXG4gICAgICBpbnB1dFt0eXBlPSd0ZXh0J117XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTsgLy80NDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4OyAvLzUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgLy8wIDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyAvLzE2XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7IC8vNTBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmlzdGEgXCJBcnRpY29saVwiIC0gZGlzcGxheSBcIkVsZW5jbyBIUFwiIGVkIFwiRWxlbmNvIEZhcm1hY2lhXCJcbi52aWV3LWVsZW5jby1hcnRpY29saXtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICBcbiAgJi5jb2ZhaW5mb3JtYSB7XG4gICAgbWFyZ2luOiAwIDAgMTIwcHggMDtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBib3R0b206IC01NXB4O1xuICAgICAgXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAxcHg7XG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29sb3I6ICRncmV5QmY7XG4gICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhlYWRlcntcbiAgICBtYXJnaW46IDEyMHB4IDAgNTBweCAwO1xuXG4gICAgaDN7XG4gICAgICBmb250LXdlaWdodDogJGZCb2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgY29sb3I6ICRyZWREYXJrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgfVxuXG4gICAgc3BhbntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogJGdyZXlCZjtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcjpiZWZvcmV7IGNvbG9yOiAkcmVkRGFyazsgfVxuICAgIH1cbiAgfVxuXG4gIC5ub1Jlc3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZkJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBjb2xvcjogJHJlZERhcms7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5uZXdzSHBJdGVtcywgLm5ld3NGbUl0ZW1ze1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICBtYXJnaW46IDAgLTEwcHg7XG4gIH1cblxuICAuc2xpY2stdHJhY2t7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuc2xpY2stc2xpZGV7IFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IFxuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1leHBvc2VkLWZvcm17XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDYwcHggYXV0bztcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICAuanMtZm9ybS10eXBlLXNlbGVjdHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnN7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIGxhYmVseyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuZm9ybS1zdWJtaXR7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRmQm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwcHgpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOmhvdmVyeyBiYWNrZ3JvdW5kOiAkcmVkTGlnaHQ7IH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIG1hcmdpbjogMDtcblxuICAgIGhlYWRlcntcbiAgICAgIG1hcmdpbjogNjBweCAwIDMwcHggMDsgLy8gMTIwcHggMCA1MHB4IDA7XG5cbiAgICAgIHNwYW46YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IC8vMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IC8vMzBweDtcbiAgICAgIH1cblxuICAgICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpOyAvLyAzMFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApOyAvLzMwXG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vUmVze1xuICAgICAgaGVpZ2h0OiBhdXRvOyAvLzUwcHhcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bzsgLy8wIGF1dG8gMzBweCBhdXRvO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgLy8yNlxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTsgLy8zMFxuICAgIH1cblxuICAgIC52aWV3cy1leHBvc2VkLWZvcm17XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87IC8vMCBhdXRvIDYwcHggYXV0bztcblxuICAgICAgLmpzLWZvcm0tdHlwZS1zZWxlY3R7IHdpZHRoOiBjYWxjKDEwMCUgLSAxMTVweCk7IH0gLy9jYWxjKDEwMCUgLSAxNjBweCk7XG5cbiAgICAgIC5mb3JtLWFjdGlvbnN7XG4gICAgICAgIHdpZHRoOiAxMDBweDsgLy8xMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4OyAvLzAgMCAwIDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udmlldy1lbGVuY28tYXJ0aWNvbGkuYXJ0aWNvbGktZmFybXtcbiAgaGVhZGVyeyBtYXJnaW46IDEyMHB4IDAgMjBweCAwOyB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBoZWFkZXJ7IG1hcmdpbjogNDBweCAwIDIwcHggMDsgfSAvLzEyMHB4IDAgMjBweCAwXG4gIH1cbn1cbiIsIi5zZWxlY3QyLWNvbnRhaW5lcnsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHR7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5QmY7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVke1xuICAgIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDE1cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LWZhbWlseTogJGpvc2VmaW47XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAkZkxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3d7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGJ7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICY6YmVmb3Jle1xuICAgICAgZm9udC1mYW1pbHk6IFwiY29mYVwiO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHNwZWFrOiBub25lO1xuXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LC01MCUpO1xuICAgICAgY29udGVudDogJ1xcZTgyZSc7IC8vIC5jZi1zZWxlY3Qtb3BlblxuICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVue1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xleyBib3JkZXI6IDFweCBzb2xpZCAkcmVkRGFyazsgfVxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWR7IGNvbG9yOiAkcmVkRGFyayAhaW1wb3J0YW50OyB9XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvd3tcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiAnXFxlODJkJzsgLy8gLmNmLXNlbGVjdC1jbG9zZVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2VsZWN0Mi1kcm9wZG93bntcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleUJmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbntcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVke1xuICAgICAgYmFja2dyb3VuZDogJHJlZERhcms7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXXtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkRGFyaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZXsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4gICYuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3d7IGJveC1zaGFkb3c6IG5vbmU7IH1cbn1cblxuLy8gTGUgc2VsZWN0IGRlbnRybyBhbCB0ZWFzZXIgZGVsbCdhcnRpY29sbyAoSFApIGhhbm5vIHVubyBzdGlsZSBkaXZlcnNvXG5hcnRpY2xlLmNvbnRlbnQtYXJ0aWNvbG8tdGVhc2Vye1xuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHR7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkRGFyaztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWREYXJrO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWR7XG4gICAgICBmb250LXdlaWdodDogJGZOb3JtYWw7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3Jle1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW57XG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
