@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * 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, .block--octane-finance-banner .block__title {
  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 {
  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 */
  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"] {
  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 {
  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=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #111111;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  -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: 5px; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 5px; }

.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;
          appearance: none;
  border: 0;
  border-radius: 5px;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

.row {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .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.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

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

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

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

.small-1 {
  width: 8.33333%; }

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

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

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

.small-2 {
  width: 16.66667%; }

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

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

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

.small-3 {
  width: 25%; }

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

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

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

.small-4 {
  width: 33.33333%; }

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

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

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

.small-5 {
  width: 41.66667%; }

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

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

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

.small-6 {
  width: 50%; }

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

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

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

.small-7 {
  width: 58.33333%; }

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

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

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

.small-8 {
  width: 66.66667%; }

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

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

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

.small-9 {
  width: 75%; }

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

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

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

.small-10 {
  width: 83.33333%; }

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

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

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

.small-11 {
  width: 91.66667%; }

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

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

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

.small-12 {
  width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li, h1, .block--octane-finance-banner .block__title,
h2,
.custom-entry--featured .custom-entry__title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-general .listing__title,
.listing--vehicle-similar .listing__title,
.custom-entry--full .custom-entry__title,
.custom-entry--teaser .custom-entry__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__container .page__form-title,
.vehicle--featured .vehicle__title,
.vehicle--full .vehicle__finance-title,
.vehicle--full .vehicle__telephone span a,
.vehicle--full .vehicle--similar .vehicle__title,
.vehicle--teaser .vehicle__title,
h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.custom-entry--featured .custom-entry__sub-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.finance-checker__details-title,
.finance-table--order .finance-table__title,
.finance-table--full .finance-table__title,
.finance-proposal-form .card .card-divider,
.block--default .block__title,
.block--sidebar .block__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.extras__list-title,
h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-example__title,
.finance-proposal-form .form__title,
.block--octane-finance-banner .block__sub-title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
h5,
.block--default .block__sub-title,
.block--sidebar .block__sub-title,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1, .block--octane-finance-banner .block__title,
h2,
.custom-entry--featured .custom-entry__title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-general .listing__title,
.listing--vehicle-similar .listing__title,
.custom-entry--full .custom-entry__title,
.custom-entry--teaser .custom-entry__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__container .page__form-title,
.vehicle--featured .vehicle__title,
.vehicle--full .vehicle__finance-title,
.vehicle--full .vehicle__telephone span a,
.vehicle--full .vehicle--similar .vehicle__title,
.vehicle--teaser .vehicle__title,
h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.custom-entry--featured .custom-entry__sub-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.finance-checker__details-title,
.finance-table--order .finance-table__title,
.finance-table--full .finance-table__title,
.finance-proposal-form .card .card-divider,
.block--default .block__title,
.block--sidebar .block__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.extras__list-title,
h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-example__title,
.finance-proposal-form .form__title,
.block--octane-finance-banner .block__sub-title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
h5,
.block--default .block__sub-title,
.block--sidebar .block__sub-title,
h6 {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  font-weight: 600;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .block--octane-finance-banner .block__title small,
  h2 small,
  .custom-entry--featured .custom-entry__title small,
  .offer--featured .offer__title small,
  .offer--full .offer__form-title small,
  .order-progress__title small,
  .page--teaser .page__title small,
  .part--featured .part__title small,
  .part--full .part__form-title small,
  .post--featured .post__title small,
  .vehicle--general .vehicle__title small,
  .vehicle--latest .vehicle__title small,
  .listing--vehicle-featured .listing__title small,
  .listing--vehicle-latest .listing__title small,
  .listing--vehicle-general .listing__title small,
  .listing--vehicle-similar .listing__title small,
  .custom-entry--full .custom-entry__title small,
  .custom-entry--teaser .custom-entry__title small,
  .page--contact .page__form-title small,
  .page--default .page__form-title small,
  .page--full-width .page__container .page__form-title small,
  .vehicle--featured .vehicle__title small,
  .vehicle--full .vehicle__finance-title small,
  .vehicle--full .vehicle__telephone span a small,
  .vehicle--full .vehicle--similar .vehicle__title small,
  .vehicle--teaser .vehicle__title small,
  h3 small,
  .branch--full .branch__directions-title small,
  .branch--teaser .branch__address-title small,
  .branch--teaser .branch__telephone-title small,
  .branch--teaser .branch__opening-hours-title small,
  .custom-entry--featured .custom-entry__sub-title small,
  .offer--featured .offer__sub-title small,
  .add-on__title small,
  .calendar__header .calendar__month span small,
  .collection-delivery__title small,
  .order-payment__title small,
  .page--teaser .page__sub-title small,
  .part--featured .part__sub-title small,
  .post--featured .post__sub-title small,
  .quick-search__legend small,
  .finance-checker__details-title small,
  .finance-table--order .finance-table__title small,
  .finance-table--full .finance-table__title small,
  .finance-proposal-form .card .card-divider small,
  .block--default .block__title small,
  .block--sidebar .block__title small,
  .order-state-summary__vehicle-title small,
  .page--contact .page__directions-title small,
  .extras__list-title small,
  h4 small,
  .branch--vehicle .branch__name small,
  .branch--vehicle .branch__directions-title small,
  .branch--vehicle .branch__telephone-title small,
  .branch--vehicle .branch__opening-hours-title small,
  .video--page .video__title small,
  .new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title small,
  .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title small,
  .finance-form .finance-form__title small,
  .finance-tables .finance-warning small,
  .finance-example__title small,
  .finance-proposal-form .form__title small,
  .block--octane-finance-banner .block__sub-title small,
  .vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title small,
  h5 small,
  .block--default .block__sub-title small,
  .block--sidebar .block__sub-title small,
  h6 small {
    line-height: 0;
    color: #e6e6e6; }

h1, .block--octane-finance-banner .block__title {
  font-size: 1.875rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h2,
.custom-entry--featured .custom-entry__title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-general .listing__title,
.listing--vehicle-similar .listing__title,
.custom-entry--full .custom-entry__title,
.custom-entry--teaser .custom-entry__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__container .page__form-title,
.vehicle--featured .vehicle__title,
.vehicle--full .vehicle__finance-title,
.vehicle--full .vehicle__telephone span a,
.vehicle--full .vehicle--similar .vehicle__title,
.vehicle--teaser .vehicle__title {
  font-size: 1.625rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.custom-entry--featured .custom-entry__sub-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.finance-checker__details-title,
.finance-table--order .finance-table__title,
.finance-table--full .finance-table__title,
.finance-proposal-form .card .card-divider,
.block--default .block__title,
.block--sidebar .block__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.extras__list-title {
  font-size: 1.375rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-example__title,
.finance-proposal-form .form__title,
.block--octane-finance-banner .block__sub-title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title {
  font-size: 1.125rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h5,
.block--default .block__sub-title,
.block--sidebar .block__sub-title {
  font-size: 0.875rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }

h6 {
  font-size: 0.625rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }

@media print, screen and (min-width: 40em) {
  h1, .block--octane-finance-banner .block__title {
    font-size: 2rem; }
  
  h2,
  .custom-entry--featured .custom-entry__title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-general .listing__title,
  .listing--vehicle-similar .listing__title,
  .custom-entry--full .custom-entry__title,
  .custom-entry--teaser .custom-entry__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__container .page__form-title,
  .vehicle--featured .vehicle__title,
  .vehicle--full .vehicle__finance-title,
  .vehicle--full .vehicle__telephone span a,
  .vehicle--full .vehicle--similar .vehicle__title,
  .vehicle--teaser .vehicle__title {
    font-size: 1.75rem; }
  
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .custom-entry--featured .custom-entry__sub-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .finance-checker__details-title,
  .finance-table--order .finance-table__title,
  .finance-table--full .finance-table__title,
  .finance-proposal-form .card .card-divider,
  .block--default .block__title,
  .block--sidebar .block__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .extras__list-title {
    font-size: 1.5rem; }
  
  h4,
  .branch--vehicle .branch__name,
  .branch--vehicle .branch__directions-title,
  .branch--vehicle .branch__telephone-title,
  .branch--vehicle .branch__opening-hours-title,
  .video--page .video__title,
  .new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
  .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
  .finance-form .finance-form__title,
  .finance-tables .finance-warning,
  .finance-example__title,
  .finance-proposal-form .form__title,
  .block--octane-finance-banner .block__sub-title,
  .vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title {
    font-size: 1.25rem; }
  
  h5,
  .block--default .block__sub-title,
  .block--sidebar .block__sub-title {
    font-size: 1rem; }
  h6 {
    font-size: 0.75rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .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: 64em) {
  .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;
    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 #999999;
    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,
  .custom-entry--featured .custom-entry__title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-general .listing__title,
  .listing--vehicle-similar .listing__title,
  .custom-entry--full .custom-entry__title,
  .custom-entry--teaser .custom-entry__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__container .page__form-title,
  .vehicle--featured .vehicle__title,
  .vehicle--full .vehicle__finance-title,
  .vehicle--full .vehicle__telephone span a,
  .vehicle--full .vehicle--similar .vehicle__title,
  .vehicle--teaser .vehicle__title,
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .custom-entry--featured .custom-entry__sub-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .finance-checker__details-title,
  .finance-table--order .finance-table__title,
  .finance-table--full .finance-table__title,
  .finance-proposal-form .card .card-divider,
  .block--default .block__title,
  .block--sidebar .block__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .extras__list-title {
    orphans: 3;
    widows: 3; }
  
  h2,
  .custom-entry--featured .custom-entry__title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-general .listing__title,
  .listing--vehicle-similar .listing__title,
  .custom-entry--full .custom-entry__title,
  .custom-entry--teaser .custom-entry__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__container .page__form-title,
  .vehicle--featured .vehicle__title,
  .vehicle--full .vehicle__finance-title,
  .vehicle--full .vehicle__telephone span a,
  .vehicle--full .vehicle--similar .vehicle__title,
  .vehicle--teaser .vehicle__title,
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .custom-entry--featured .custom-entry__sub-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .finance-checker__details-title,
  .finance-table--order .finance-table__title,
  .finance-table--full .finance-table__title,
  .finance-proposal-form .card .card-divider,
  .block--default .block__title,
  .block--sidebar .block__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .extras__list-title {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #777777;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #656565;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 1rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #777777;
    color: #000000; }
    .button.primary:hover, .button.primary:focus {
      background-color: #5f5f5f;
      color: #000000; }
  .button.secondary {
    background-color: #545454;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #434343;
      color: #ffffff; }
  .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.hollow {
    border: 1px solid #777777;
    color: #777777; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #3c3c3c;
      color: #3c3c3c; }
    .button.hollow.primary {
      border: 1px solid #777777;
      color: #777777; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.secondary {
      border: 1px solid #545454;
      color: #545454; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #2a2a2a;
        color: #2a2a2a; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .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: #777777;
      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: #777777;
        color: #000000; }
    .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: #545454;
        color: #ffffff; }
    .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.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: 0.875rem; }
  .button.dropdown.hollow::after {
    border-top-color: #777777; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #777777; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #545454; }
  .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; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #e6e6e6;
  border-radius: 5px;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #000000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-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 #999999;
    background-color: #ffffff;
    box-shadow: 0 0 5px #e6e6e6;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #999999; }

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

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  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: 400;
  line-height: 1.8;
  color: #ffffff; }
  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: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 5px 0 0 5px; }
  .input-group > :last-child > * {
    border-radius: 0 5px 5px 0; }

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #e6e6e6;
  background: #ececec;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.4375rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.9375rem; }

.input-group .input-group-button {
  display: table-cell; }

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 #e6e6e6; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem;
    background: #111111; }

select {
  height: 2.375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #e6e6e6;
  border-radius: 5px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.9375rem;
  line-height: normal;
  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%28153, 153, 153%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #999999;
    background-color: #ffffff;
    box-shadow: 0 0 5px #e6e6e6;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #ffffff;
    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):-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: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: inherit;
  list-style-type: none; }

.accordion-item:first-child > :first-child {
  border-radius: 5px 5px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 5px 5px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: none;
  border-bottom: 0;
  font-size: 1.125rem;
  line-height: 1;
  color: #777777; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: none;
    border-radius: 0 0 5px 5px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ececec; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: none;
  border-bottom: 0;
  background-color: inherit;
  color: #ffffff; }
  :last-child > .accordion-content:last-child {
    border-bottom: none; }

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

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

.card {
  margin-bottom: 1rem;
  border: 1px solid #ececec;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #ffffff; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #ececec; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

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

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li, .menu.horizontal > li {
    display: table-cell; }
  .menu.expanded {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.vertical > li {
    display: block; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.medium-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.medium-vertical > li {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.large-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple li {
    display: inline-block;
    vertical-align: top;
    line-height: 1; }
  .menu.simple a {
    padding: 0; }
  .menu.simple li {
    margin-left: 0;
    margin-right: 1rem; }
  .menu.simple.align-right li {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.align-right::before, .menu.align-right::after {
    display: table;
    content: ' '; }
  .menu.align-right::after {
    clear: both; }
  .menu.align-right > li {
    float: right; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-top.vertical a > span {
    margin: auto; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    background: #777777;
    color: #ffffff; }
  .menu.menu-bordered li {
    border: 1px solid #ececec; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #ececec; }

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

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block;
    vertical-align: top; }

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

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

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

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

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

.drilldown-submenu-cover-previous {
  min-height: 100%; }

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > 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 #777777;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #777777 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: block;
  width: 270px;
  padding: 1rem;
  visibility: hidden;
  border: none;
  border-radius: 0;
  background-color: #777777;
  font-size: 1rem; }
  .dropdown-pane.is-open {
    visibility: visible; }

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

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

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

.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: #ffffff transparent transparent;
  right: 5px;
  margin-top: -3px; }

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

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

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

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

.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 {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #ffffff 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 #ffffff; }

@media print, screen and (min-width: 40em) {
  .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: #ffffff transparent transparent;
    right: 5px;
    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; }
  .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 {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ffffff 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 #ffffff; } }

@media print, screen and (min-width: 64em) {
  .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: #ffffff transparent transparent;
    right: 5px;
    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; }
  .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 {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ffffff 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 #ffffff; } }

.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;
    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 #e6e6e6;
  background: #777777; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ffffff 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 #ffffff; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 5px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 5px;
    color: #000000; }
    .pagination a:hover,
    .pagination button:hover {
      background: #ececec; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #777777;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #e6e6e6;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #000000; }

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

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

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

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: none;
  border-radius: 5px;
  background-color: #111111;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 100rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal .reveal {
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 100rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 100rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 5px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #1d1d1d;
    background-color: #111111; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  thead {
    background: #171717;
    color: #ffffff; }
  tfoot {
    background: #1d1d1d;
    color: #ffffff; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #1d1d1d; }
  table.unstriped tbody {
    background-color: #111111; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #1d1d1d;
      background-color: #111111; }

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

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

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

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

table.hover tbody tr:hover {
  background-color: #0c0c0c; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: black; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid none;
  background: #ffffff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #777777; }
  .tabs.primary > li > a {
    color: #000000; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #717171; }

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

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: inherit;
  color: #ffffff;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid none;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  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);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  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);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  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);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  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);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  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%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  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%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  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%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  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%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

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

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

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

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

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  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 {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  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);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  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);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  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);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  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);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  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);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  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);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  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);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  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);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

a {
  outline: none; }

strong {
  font-weight: 600; }

iframe {
  border: 0; }

.callout {
  margin: 0.3125rem 0;
  padding-right: 2rem;
  border: none; }

.close-button {
  top: 0.75rem;
  font-size: 1.875rem; }
  .close-button:hover {
    color: inherit; }
  .close-button--toggler {
    top: 0;
    right: 0.875rem;
    color: #ffffff;
    line-height: 3.125rem;
    z-index: 3; }
    .close-button--toggler:focus, .close-button--toggler:hover {
      color: #ffffff; }
    @media print, screen and (min-width: 64em) {
      .close-button--toggler {
        display: none; } }

.cookie-policy {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #545454;
  z-index: 9999999999; }
  .cookie-policy-inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    position: relative;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    color: #ffffff; }
    .cookie-policy-inner::before, .cookie-policy-inner::after {
      display: table;
      content: ' '; }
    .cookie-policy-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .cookie-policy-inner:last-child:not(:first-child) {
      float: right; }
    .cookie-policy-inner, .cookie-policy-inner:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy-inner {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
    .cookie-policy-inner a {
      color: #ffffff;
      text-decoration: underline; }
      .cookie-policy-inner a:hover {
        text-decoration: none; }
  .cookie-policy__text {
    padding-right: 1rem; }
  .cookie-policy__close {
    position: absolute;
    color: #999999;
    cursor: pointer;
    top: 0.625rem;
    right: 0.625rem;
    color: #ffffff;
    font-size: 1.75rem;
    line-height: 1; }
    [data-whatinput='mouse'] .cookie-policy__close {
      outline: 0; }
    .cookie-policy__close:hover, .cookie-policy__close:focus {
      color: #000000; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy__close {
        top: 0.8125rem;
        right: 0.9375rem; } }

.is-drilldown-submenu.is-active {
  z-index: 2 !important; }

.icon::before {
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle; }

.icon--arrow-back::before {
  font-family: 'Material Icons';
  content: '\e5c4'; }

.icon--arrow-forward::before {
  font-family: 'Material Icons';
  content: '\e5c8'; }

.icon--bike::before {
  font-family: 'Material Icons';
  content: '\e52f'; }

.icon--car::before {
  font-family: 'Material Icons';
  content: '\e531'; }

.icon--chevron-left::before {
  font-family: 'Material Icons';
  content: '\e5cb'; }

.icon--chevron-right::before {
  font-family: 'Material Icons';
  content: '\e5cc'; }

.icon--clock::before {
  font-family: 'Material Icons';
  content: '\e855'; }

.icon--finance::before {
  font-family: 'Material Icons';
  content: '\e877'; }

.icon--enlarge::before {
  font-family: 'Material Icons';
  content: '\e56b'; }

.icon--expand-less::before {
  font-family: 'Material Icons';
  content: '\e5ce'; }

.icon--expand-more::before {
  font-family: 'Material Icons';
  content: '\e5cf'; }

.icon--document::before {
  font-family: 'Material Icons';
  content: '\e873'; }

.icon--facebook::before {
  font-family: 'FontAwesome';
  content: "\f09a"; }

.icon--filter::before {
  font-family: 'Material Icons';
  content: '\e152'; }

.icon--google-plus::before {
  font-family: 'FontAwesome';
  content: "\f0d5"; }

.icon--image-library::before {
  font-family: 'Material Icons';
  content: '\e413'; }

.icon--info::before {
  font-family: 'Material Icons';
  vertical-align: top;
  content: '\e88f'; }

.icon--linkedin::before {
  font-family: 'FontAwesome';
  content: "\f0e1"; }

.icon--mail::before {
  font-family: 'Material Icons';
  content: '\e158'; }

.icon--menu::before {
  font-family: 'Material Icons';
  content: '\e5d2'; }

.icon--play::before {
  font-family: 'Material Icons';
  content: '\e039'; }

.icon--phone::before {
  font-family: 'Material Icons';
  content: '\e0cd'; }

.icon--recent::before {
  font-family: 'Material Icons';
  content: '\e889'; }

.icon--share::before {
  font-family: 'Material Icons';
  content: '\e80d'; }

.icon--saved::before {
  font-family: 'Material Icons';
  content: '\e87d'; }

.icon--search::before {
  font-family: 'Material Icons';
  content: '\e8b6'; }

.icon--sms::before {
  font-family: 'Material Icons';
  content: '\e625'; }

.icon--transit::before {
  font-family: 'Material Icons';
  content: '\e535'; }

.icon--twitter::before {
  font-family: 'FontAwesome';
  content: "\f099"; }

.icon--print::before {
  font-family: 'Material Icons';
  content: '\e8ad'; }

.icon--video-library::before {
  font-family: 'Material Icons';
  content: '\e04a'; }

.icon--walk::before {
  font-family: 'Material Icons';
  content: '\e536'; }

.icon--whatsapp::before {
  font-family: 'FontAwesome';
  content: "\f232"; }

.logo {
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem; }
  .logo--text {
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1; }
    @media print, screen and (min-width: 64em) {
      .logo--text {
        margin-top: 1.875rem;
        margin-bottom: 1.875rem; } }
  .logo--image {
    display: inline-block; }

.reveal {
  outline: none; }
  .reveal__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .reveal__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .reveal__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .reveal__header::before, .reveal__header::after {
      display: table;
      content: ' '; }
    .reveal__header::after {
      clear: both; }
  .reveal__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem;
    font-size: 1.5rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .reveal__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .reveal__title:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .reveal__title {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .reveal__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .reveal__title:last-child:not(:first-child) {
          float: right; } }
  .reveal__vehicle {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem;
    font-size: 0.875rem;
    line-height: 2.3; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .reveal__vehicle:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        text-align: right; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .reveal__vehicle {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .reveal__vehicle:last-child:not(:first-child) {
          float: right; } }
  .reveal__vehicle-make-model {
    font-size: 1.125rem;
    line-height: 1.2; }
  .reveal__vehicle-image {
    float: left;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle-image {
        float: right;
        margin-left: 0.625rem;
        margin-right: 0; } }
  .reveal__description {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .reveal__description {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .reveal__description:last-child:not(:first-child) {
      float: right; }
  .reveal--vehicle-enquiry, .reveal--email-vehicle, .reveal--vehicle-payment {
    padding: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .reveal--vehicle-enquiry, .reveal--email-vehicle, .reveal--vehicle-payment {
        padding: 3.125rem 1.875rem 1.875rem; } }

.datepicker table thead {
  background: inherit;
  color: inherit; }

.datepicker table tbody tr:nth-child(even) {
  background-color: inherit; }

.tabs {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .tabs > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .tabs > li {
      outline: 0; }
  .tabs > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .tabs input,
  .tabs select,
  .tabs a,
  .tabs button {
    margin-bottom: 0; }
  .tabs > li:first-child:last-child {
    width: 100%; }
  .tabs::before, .tabs::after {
    display: none; }
  .tabs > li {
    float: none; }
    .tabs > li.tabs-title > a {
      height: 3.625rem;
      line-height: 3.625rem;
      padding: 0;
      color: #ffffff;
      text-align: center;
      font-weight: 600;
      background-color: #545454;
      margin-right: 0.0625rem; }
      .tabs > li.tabs-title > a h2, .tabs > li.tabs-title > a .custom-entry--featured .custom-entry__title, .custom-entry--featured .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .offer--featured .offer__title, .offer--featured .tabs > li.tabs-title > a .offer__title, .tabs > li.tabs-title > a .offer--full .offer__form-title, .offer--full .tabs > li.tabs-title > a .offer__form-title, .tabs > li.tabs-title > a .order-progress__title, .tabs > li.tabs-title > a .page--teaser .page__title, .page--teaser .tabs > li.tabs-title > a .page__title, .tabs > li.tabs-title > a .part--featured .part__title, .part--featured .tabs > li.tabs-title > a .part__title, .tabs > li.tabs-title > a .part--full .part__form-title, .part--full .tabs > li.tabs-title > a .part__form-title, .tabs > li.tabs-title > a .post--featured .post__title, .post--featured .tabs > li.tabs-title > a .post__title, .tabs > li.tabs-title > a .vehicle--general .vehicle__title, .vehicle--general .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--latest .vehicle__title, .vehicle--latest .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .listing--vehicle-featured .listing__title, .listing--vehicle-featured .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-latest .listing__title, .listing--vehicle-latest .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-general .listing__title, .listing--vehicle-general .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-similar .listing__title, .listing--vehicle-similar .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .custom-entry--full .custom-entry__title, .custom-entry--full .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .custom-entry--teaser .custom-entry__title, .custom-entry--teaser .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .page--contact .page__form-title, .page--contact .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--default .page__form-title, .page--default .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--full-width .page__container .page__form-title, .page--full-width .page__container .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .vehicle--featured .vehicle__title, .vehicle--featured .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--full .vehicle__finance-title, .vehicle--full .tabs > li.tabs-title > a .vehicle__finance-title, .tabs > li.tabs-title > a .vehicle--full .vehicle__telephone span a, .vehicle--full .vehicle__telephone span .tabs > li.tabs-title > a a, .tabs > li.tabs-title > a .vehicle--full .vehicle--similar .vehicle__title, .vehicle--full .vehicle--similar .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--teaser .vehicle__title, .vehicle--teaser .tabs > li.tabs-title > a .vehicle__title {
        margin-bottom: 0;
        font-size: inherit;
        line-height: inherit; }
    .tabs > li.tabs-title > a:focus,
    .tabs > li.tabs-title > a:hover,
    .tabs > li.tabs-title > a[aria-selected='true'] {
      color: #ffffff;
      background-color: #777777; }
    .tabs > li.tabs-title.is-active {
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .tabs > li.tabs-title.is-active::after {
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -0.5rem;
          content: '';
          display: block;
          width: 0;
          height: 0;
          -moz-transform: scale(0.9999);
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 8px solid #777777;
          z-index: 400; } }
    .tabs > li:last-child.tabs-title > a {
      margin-right: 0; }

.vehicle__top .tabs-content .tabs-panel {
  padding: 0; }

.vehicle__middle .tabs-content .tabs-panel {
  padding: 1.25rem 0 0; }

.temporary-slogan {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: #777777;
  z-index: 999; }
  .temporary-slogan__inner {
    padding: 0.625rem;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.4; }
    @media print, screen and (min-width: 40em) {
      .temporary-slogan__inner {
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 64em) {
      .temporary-slogan__inner {
        font-size: 0.9375rem; } }
    @media screen and (min-width: 75em) {
      .temporary-slogan__inner {
        font-size: 1rem; } }
    .temporary-slogan__inner a {
      color: #ffffff; }

@media screen and (max-width: 63.9375em) {
  .toggler {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 16.875rem;
    background-color: #111111;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.2);
    overflow-y: scroll;
    z-index: 999; }
    .toggler::-webkit-scrollbar {
      display: none; } }

.toggler-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.45); }

.block--footer .block__primary-images img {
  border: 1px solid #242424;
  border-radius: 0.1875rem; }

.branch--footer .branch__name {
  display: inline-block;
  margin-right: 0.1875rem; }
  .branch--footer .branch__name::after {
    content: ',';
    display: inline-block; }

.branch--footer .branch__address {
  display: inline-block; }
  .branch--footer .branch__address span::after {
    content: ',';
    display: inline-block; }
  .branch--footer .branch__address span:last-child::after {
    content: ''; }

.branch--full .branch__map {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__map {
      padding-bottom: 1.875rem; } }
  .branch--full .branch__map #map {
    width: 100%;
    height: 18.75rem; }
    @media print, screen and (min-width: 40em) {
      .branch--full .branch__map #map {
        height: 29rem; } }

.branch--full .branch__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__primary-images {
      padding-bottom: 1.875rem; } }
  .branch--full .branch__primary-images ul {
    margin: 0;
    list-style: none; }

.branch--full .branch__logos,
.branch--full .branch__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__logos,
    .branch--full .branch__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--full .branch__logos,
    .branch--full .branch__secondary-images {
      width: 25rem; } }
  .branch--full .branch__logos ul,
  .branch--full .branch__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .branch--full .branch__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .branch--full .branch__videos {
    width: 25rem; } }

.branch--full .branch__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--full .branch__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--full .branch__videos ul::before, .branch--full .branch__videos ul::after {
    display: table;
    content: ' '; }
  .branch--full .branch__videos ul::after {
    clear: both; }
  .branch--full .branch__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--full .branch__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--full .branch__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .branch--full .branch__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .branch--full .branch__videos ul > li:last-child {
      float: left; }
  .branch--full .branch__videos ul li {
    margin-bottom: 1.25rem; }

.branch--full .branch__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__description {
      padding-bottom: 1.25rem; } }
  .branch--full .branch__description p a:not(.button) {
    text-decoration: underline; }
    .branch--full .branch__description p a:not(.button):hover {
      text-decoration: none; }

.branch--full .branch__files ul {
  margin-left: 0;
  list-style: none; }
  .branch--full .branch__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.branch--full .branch__directions {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__directions {
      padding-bottom: 1.875rem; } }

.branch--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--teaser::before, .branch--teaser::after {
    display: table;
    content: ' '; }
  .branch--teaser::after {
    clear: both; }
  .branch--teaser .branch__name {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__name {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__name:last-child:not(:first-child) {
      float: right; }
  .branch--teaser .branch__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__details {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__details:last-child:not(:first-child) {
          float: right; } }
  .branch--teaser .branch__address span {
    display: block; }
  .branch--teaser .branch__telephone {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__telephone {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__telephone:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__telephone {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__telephone {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__telephone:last-child:not(:first-child) {
          float: right; } }
    .branch--teaser .branch__telephone ul {
      list-style: none;
      margin: 0; }
  .branch--teaser .branch__opening-hours {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__opening-hours {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__opening-hours:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__opening-hours {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__opening-hours {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__opening-hours:last-child:not(:first-child) {
          float: right; } }
    .branch--teaser .branch__opening-hours select {
      margin-bottom: 0.9375rem; }

.branch--vehicle {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--vehicle {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--vehicle {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--vehicle::before, .branch--vehicle::after {
    display: table;
    content: ' '; }
  .branch--vehicle::after {
    clear: both; }
  .branch--vehicle .branch__map {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__map {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--vehicle .branch__map:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__map {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--vehicle .branch__map {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__map:last-child:not(:first-child) {
          float: right; } }
    .branch--vehicle .branch__map #map {
      width: 100%;
      height: 18.75rem;
      margin-bottom: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__map #map {
          height: 37.5rem;
          margin-bottom: 0; } }
  .branch--vehicle .branch__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--vehicle .branch__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__details {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--vehicle .branch__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__details:last-child:not(:first-child) {
          float: right; } }
  .branch--vehicle .branch__name,
  .branch--vehicle .branch__directions-title {
    margin-bottom: 0.625rem; }
  .branch--vehicle .branch__address {
    margin-bottom: 1.25rem; }
    .branch--vehicle .branch__address span {
      display: block; }
  .branch--vehicle .branch__telephone,
  .branch--vehicle .branch__opening-hours {
    margin-bottom: 1.25rem; }
    .branch--vehicle .branch__telephone-title,
    .branch--vehicle .branch__opening-hours-title {
      margin-bottom: 0.625rem; }
    .branch--vehicle .branch__telephone ul,
    .branch--vehicle .branch__opening-hours ul {
      list-style: none;
      margin: 0; }

.custom-entry--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .custom-entry--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .custom-entry--featured::before, .custom-entry--featured::after {
    display: table;
    content: ' '; }
  .custom-entry--featured::after {
    clear: both; }
  .custom-entry--featured .custom-entry__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--featured .custom-entry__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .custom-entry--featured .custom-entry__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .custom-entry--featured .custom-entry__primary-images:last-child:not(:first-child) {
          float: right; } }
  .custom-entry--featured .custom-entry__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--featured .custom-entry__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .custom-entry--featured .custom-entry__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .custom-entry--featured .custom-entry__content:last-child:not(:first-child) {
          float: right; } }
  .custom-entry--featured .custom-entry__content--without-media {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__content--without-media {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--featured .custom-entry__content--without-media:last-child:not(:first-child) {
      float: right; }
  .custom-entry--featured .custom-entry__title {
    margin-bottom: 0.625rem; }
  .custom-entry--featured .custom-entry__sub-title {
    margin-bottom: 0.625rem; }
  .custom-entry--featured .custom-entry__custom-fields {
    margin-bottom: 0.625rem; }
    .custom-entry--featured .custom-entry__custom-fields ul {
      margin: 0;
      list-style: none; }
      .custom-entry--featured .custom-entry__custom-fields ul li span {
        font-weight: 600; }
  .custom-entry--featured .custom-entry__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .custom-entry--featured .custom-entry__link .button {
    margin-bottom: 0; }

.department--teaser .department__name {
  font-weight: 600; }

.department--teaser .department__telephone .department__label::after {
  display: inline-block;
  content: ':';
  margin-right: 0.1875rem; }

.department--teaser .department__telephone .department__value {
  font-weight: 600; }

.department--teaser .department__opening-hours ul {
  list-style: none;
  margin: 0; }

.department--teaser .department__opening-hours .department__value {
  display: inline-block;
  float: right;
  font-weight: 600; }

.department--vehicle .department__telephone .department__label::after {
  display: inline-block;
  content: ':';
  margin-right: 0.1875rem; }

.department--vehicle .department__telephone .department__value {
  font-weight: 600; }

.department--vehicle .department__opening-hours .department__value {
  display: inline-block;
  float: right;
  font-weight: 600; }

.form--delivery-calendar {
  margin-top: 0.9375rem; }
  .form--delivery-calendar .form__link {
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .form--delivery-calendar .form__link {
        margin-top: 1.875rem; } }
    .form--delivery-calendar .form__link .button {
      margin-bottom: 0; }

.form--directions {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--directions {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--directions {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--directions::before, .form--directions::after {
    display: table;
    content: ' '; }
  .form--directions::after {
    clear: both; }
  .form--directions .field-starting-point {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-starting-point {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-starting-point:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-starting-point {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-starting-point {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-starting-point:last-child:not(:first-child) {
          float: right; } }
  .form--directions .field-destination {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-destination {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-destination:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-destination {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-destination {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-destination:last-child:not(:first-child) {
          float: right; } }
  .form--directions .field-submit {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-submit {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-submit:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-submit {
        width: 16.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-top: 1.5625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-submit {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-submit:last-child:not(:first-child) {
          float: right; }
        .form--directions .field-submit .button {
          width: 100%;
          margin-bottom: 0; } }
  .form--directions.form--single-branch .field-starting-point {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions.form--single-branch .field-starting-point {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions.form--single-branch .field-starting-point:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions.form--single-branch .field-starting-point {
        width: 83.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions.form--single-branch .field-starting-point {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions.form--single-branch .field-starting-point:last-child:not(:first-child) {
          float: right; } }

.form--vehicle-directions {
  position: relative; }
  .form--vehicle-directions .field-submit {
    position: absolute;
    bottom: 0.25rem;
    right: 0.25rem;
    margin-bottom: 0; }
    .form--vehicle-directions .field-submit .button {
      padding: 0.5rem;
      margin-bottom: 0;
      border: none;
      border-radius: 0.25rem; }

.form--sell-your-vehicle-valuation [type='text'],
.form--sell-your-vehicle-valuation [type='password'],
.form--sell-your-vehicle-valuation [type='date'],
.form--sell-your-vehicle-valuation [type='datetime'],
.form--sell-your-vehicle-valuation [type='datetime-local'],
.form--sell-your-vehicle-valuation [type='month'],
.form--sell-your-vehicle-valuation [type='week'],
.form--sell-your-vehicle-valuation [type='email'],
.form--sell-your-vehicle-valuation [type='number'],
.form--sell-your-vehicle-valuation [type='search'],
.form--sell-your-vehicle-valuation [type='tel'],
.form--sell-your-vehicle-valuation [type='time'],
.form--sell-your-vehicle-valuation [type='url'],
.form--sell-your-vehicle-valuation [type='color'],
.form--sell-your-vehicle-valuation select,
.form--sell-your-vehicle-valuation textarea {
  margin-bottom: 0.9375rem; }

.form--sell-your-vehicle-valuation label.error {
  height: 1.1875rem;
  margin-top: -0.9375rem;
  margin-bottom: 0.9375rem;
  color: #cc4b37;
  font-size: 0.8125rem;
  line-height: 1.1875rem; }

.form--sell-your-vehicle-valuation .form__back a {
  display: block;
  margin-bottom: 0.375rem; }
  .form--sell-your-vehicle-valuation .form__back a i {
    font-size: 0.75rem; }
  .form--sell-your-vehicle-valuation .form__back a span {
    line-height: 1;
    vertical-align: middle; }

.form--sell-your-vehicle-valuation .form__step0 .field-registration {
  margin-bottom: 0.9375rem; }
  .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input {
    position: relative;
    width: 100%;
    height: 3.75rem;
    padding-left: 3.75rem;
    padding-right: 0.375rem;
    background-color: #ffffff;
    border: none;
    border-radius: 0.375rem;
    box-shadow: none; }
    .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input::before {
      font-family: "67degrees";
      content: "\47";
      position: absolute;
      top: 0;
      left: 0;
      height: 3.75rem;
      width: 3.125rem;
      font-size: 1.875rem;
      line-height: 2.1;
      text-align: center;
      background-color: #545454;
      color: #ffffff;
      border-top-left-radius: 0.375rem;
      border-bottom-left-radius: 0.375rem;
      font-weight: normal;
      font-style: normal;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle; }
    .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input input {
      height: 3.625rem;
      font-size: 1.875rem;
      font-weight: 700;
      text-transform: uppercase;
      background-color: #ffffff;
      border: none;
      box-shadow: none; }
  .form--sell-your-vehicle-valuation .form__step0 .field-registration .control-label {
    display: none; }

.form--sell-your-vehicle-valuation .form__step1 {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--sell-your-vehicle-valuation .form__step1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--sell-your-vehicle-valuation .form__step1::before, .form--sell-your-vehicle-valuation .form__step1::after {
    display: table;
    content: ' '; }
  .form--sell-your-vehicle-valuation .form__step1::after {
    clear: both; }
  .form--sell-your-vehicle-valuation .form__step1 fieldset {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--sell-your-vehicle-valuation .form__step1 fieldset {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--sell-your-vehicle-valuation .form__step1 fieldset:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--sell-your-vehicle-valuation .form__step1 fieldset {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 fieldset {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--sell-your-vehicle-valuation .form__step1 fieldset:last-child:not(:first-child) {
          float: right; } }
  .form--sell-your-vehicle-valuation .form__step1 .summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--sell-your-vehicle-valuation .form__step1 .summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--sell-your-vehicle-valuation .form__step1 .summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--sell-your-vehicle-valuation .form__step1 .summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 .summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--sell-your-vehicle-valuation .form__step1 .summary:last-child:not(:first-child) {
          float: right; } }
    .form--sell-your-vehicle-valuation .form__step1 .summary__inner {
      color: #ffffff;
      background-color: #777777;
      padding: 1.25rem; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__title {
      margin-bottom: 0.9375rem;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__list {
      margin: 0;
      list-style: none; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__list-item span {
      float: right;
      font-weight: 600; }

.valuation__price {
  font-size: 2.5rem;
  font-weight: 700; }

.form--service-booking {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--service-booking {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--service-booking {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--service-booking::before, .form--service-booking::after {
    display: table;
    content: ' '; }
  .form--service-booking::after {
    clear: both; }
  .form--service-booking [type='text'],
  .form--service-booking [type='password'],
  .form--service-booking [type='date'],
  .form--service-booking [type='datetime'],
  .form--service-booking [type='datetime-local'],
  .form--service-booking [type='month'],
  .form--service-booking [type='week'],
  .form--service-booking [type='email'],
  .form--service-booking [type='number'],
  .form--service-booking [type='search'],
  .form--service-booking [type='tel'],
  .form--service-booking [type='time'],
  .form--service-booking [type='url'],
  .form--service-booking [type='color'],
  .form--service-booking select,
  .form--service-booking textarea {
    margin-bottom: 0.9375rem; }
  .form--service-booking label.error {
    height: 1.1875rem;
    margin-top: -0.9375rem;
    margin-bottom: 0.9375rem;
    color: #cc4b37;
    font-size: 0.8125rem;
    line-height: 1.1875rem; }
  .form--service-booking .form__steps {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form__steps {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form__steps:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .form__steps {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .form__steps {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .form__steps:last-child:not(:first-child) {
          float: right; } }
  .form--service-booking .form__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .form__summary {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .form__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .form__summary:last-child:not(:first-child) {
          float: right; } }
  .form--service-booking .form-disclaimer {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form-disclaimer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form-disclaimer:last-child:not(:first-child) {
      float: right; }
  .form--service-booking .field-servicebookingform-registration {
    margin-bottom: 0.9375rem; }
    .form--service-booking .field-servicebookingform-registration .form-group__input {
      position: relative;
      width: 100%;
      height: 3.75rem;
      padding-left: 3.75rem;
      padding-right: 0.375rem;
      background-color: #ffffff;
      border: none;
      border-radius: 0.375rem;
      box-shadow: none; }
      .form--service-booking .field-servicebookingform-registration .form-group__input::before {
        font-family: "67degrees";
        content: "\47";
        position: absolute;
        top: 0;
        left: 0;
        height: 3.75rem;
        width: 3.125rem;
        font-size: 1.875rem;
        line-height: 2.1;
        text-align: center;
        background-color: #545454;
        color: #ffffff;
        border-top-left-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        font-weight: normal;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle; }
      .form--service-booking .field-servicebookingform-registration .form-group__input input {
        height: 3.625rem;
        font-size: 1.875rem;
        font-weight: 700;
        text-transform: uppercase;
        background-color: #ffffff;
        border: none;
        box-shadow: none; }
    .form--service-booking .field-servicebookingform-registration .control-label {
      display: none; }
  .form--service-booking .field-servicebookingform-service_type .control-label,
  .form--service-booking .field-servicebookingform-additional-service_type .control-label {
    margin-bottom: 0;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1; }
  .form--service-booking .field-servicebookingform-service_type p,
  .form--service-booking .field-servicebookingform-additional-service_type p {
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    font-weight: 400; }
  .form--service-booking .field-servicebookingform-service_type .options {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .field-servicebookingform-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .field-servicebookingform-service_type .options::before, .form--service-booking .field-servicebookingform-service_type .options::after {
      display: table;
      content: ' '; }
    .form--service-booking .field-servicebookingform-service_type .options::after {
      clear: both; }
    .form--service-booking .field-servicebookingform-service_type .options > label {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .field-servicebookingform-service_type .options > label {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .field-servicebookingform-service_type .options > label:last-child {
        float: left; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-service_type .options > label {
        float: left;
        width: 33.33333%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .field-servicebookingform-service_type .options > label {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n) {
          clear: none; }
        .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(3n+1) {
          clear: both; }
        .form--service-booking .field-servicebookingform-service_type .options > label:last-child {
          float: left; } }
    .form--service-booking .field-servicebookingform-service_type .options__label {
      margin-bottom: 0.625rem; }
      .form--service-booking .field-servicebookingform-service_type .options__label input {
        display: none; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__details {
        display: block;
        min-height: 6.25rem;
        padding: 0.9375rem;
        text-align: center;
        background-color: #111111; }
      .form--service-booking .field-servicebookingform-service_type .options__label input:checked + .options__details {
        color: #ffffff;
        background-color: #777777; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__name {
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__description {
        display: block;
        min-height: 2rem;
        font-size: 0.75rem;
        line-height: 1.2; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__price {
        display: block;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1; }
      .form--service-booking .field-servicebookingform-service_type .options__label label.error {
        position: absolute;
        top: 0.1875rem;
        left: 6.25rem;
        margin: 0; }
  .form--service-booking .field-servicebookingform-additional-service_type .options {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .field-servicebookingform-additional-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-additional-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .field-servicebookingform-additional-service_type .options::before, .form--service-booking .field-servicebookingform-additional-service_type .options::after {
      display: table;
      content: ' '; }
    .form--service-booking .field-servicebookingform-additional-service_type .options::after {
      clear: both; }
    .form--service-booking .field-servicebookingform-additional-service_type .options > label {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .field-servicebookingform-additional-service_type .options > label {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:last-child {
        float: left; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label input {
      display: none; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__details {
      display: inline-block;
      width: 100%;
      padding: 0.9375rem;
      background-color: #111111; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label input:checked + .options__details {
      color: #ffffff;
      background-color: #777777; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__name {
      float: left;
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__description {
      float: left;
      clear: left;
      margin-top: 0.3125rem;
      font-size: 0.75rem;
      line-height: 1.2; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__price {
      float: right;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label label.error {
      position: absolute;
      top: 0.1875rem;
      left: 6.25rem;
      margin: 0; }
  .form--service-booking .confirmation {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0.375rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .confirmation {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .confirmation {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .confirmation::before, .form--service-booking .confirmation::after {
      display: table;
      content: ' '; }
    .form--service-booking .confirmation::after {
      clear: both; }
    .form--service-booking .confirmation > li {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .confirmation > li {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .confirmation > li:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .confirmation > li:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .confirmation > li:last-child {
        float: left; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .confirmation > li {
        float: left;
        width: 33.33333%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .confirmation > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .confirmation > li:nth-of-type(1n) {
          clear: none; }
        .form--service-booking .confirmation > li:nth-of-type(3n+1) {
          clear: both; }
        .form--service-booking .confirmation > li:last-child {
          float: left; } }
    .form--service-booking .confirmation > li {
      margin-bottom: 0.625rem; }
    .form--service-booking .confirmation__step {
      padding: 0.9375rem;
      background-color: #111111; }
    .form--service-booking .confirmation__title {
      margin-bottom: 0.8125rem;
      padding-bottom: 0.625rem;
      font-size: 1.125rem;
      font-weight: 600;
      text-align: center;
      line-height: 1.4; }
    .form--service-booking .confirmation__change {
      display: block;
      font-size: 0.875rem; }
    .form--service-booking .confirmation__row {
      margin-bottom: 0.375rem; }
    .form--service-booking .confirmation__label {
      display: inline-block;
      font-size: 0.875rem;
      line-height: 1.5; }
    .form--service-booking .confirmation__value {
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.5; }
    .form--service-booking .confirmation__row--additional-service .confirmation__label,
    .form--service-booking .confirmation__row--additional-service .confirmation__value, .form--service-booking .confirmation__row--service-type .confirmation__label,
    .form--service-booking .confirmation__row--service-type .confirmation__value {
      display: block; }
  .form--service-booking .summary {
    color: #ffffff;
    background-color: #777777;
    padding: 1.25rem; }
    .form--service-booking .summary__title {
      margin-bottom: 0.9375rem;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .summary__label {
      display: inline-block; }
    .form--service-booking .summary__value {
      float: right; }
    .form--service-booking .summary__row--service {
      margin-bottom: 0.1875rem; }
    .form--service-booking .summary__row--total {
      border-top: 1px solid #919191;
      margin-top: 0.8125rem;
      padding-top: 0.625rem;
      font-size: 1.125rem;
      font-weight: 600; }

.form--vehicle-payment .form-marketing__fields input {
  margin-bottom: 0; }

.form--vehicle-payment .field-submit {
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-payment .field-submit {
      margin-top: 1.875rem; } }
  .form--vehicle-payment .field-submit .button {
    margin-bottom: 0; }

.form--vehicle-sort select {
  height: 2.875rem; }

.form--vehicle-valuation .form__back a {
  display: block;
  margin-bottom: 0.375rem; }
  .form--vehicle-valuation .form__back a i {
    font-size: 0.75rem; }
  .form--vehicle-valuation .form__back a span {
    line-height: 1;
    vertical-align: middle; }

.form--vehicle-valuation .button {
  margin-bottom: 0; }

.form--vehicle-valuation .form__description {
  margin-bottom: 0.9375rem; }

.form--vehicle-valuation .form__row {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--vehicle-valuation .form__row::before, .form--vehicle-valuation .form__row::after {
    display: table;
    content: ' '; }
  .form--vehicle-valuation .form__row::after {
    clear: both; }

.form--vehicle-valuation .form__registration,
.form--vehicle-valuation .form__mileage,
.form--vehicle-valuation .form__first-name,
.form--vehicle-valuation .form__last-name,
.form--vehicle-valuation .form__phone,
.form--vehicle-valuation .form__email {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .form--vehicle-valuation .form__registration:last-child:not(:first-child),
  .form--vehicle-valuation .form__mileage:last-child:not(:first-child),
  .form--vehicle-valuation .form__first-name:last-child:not(:first-child),
  .form--vehicle-valuation .form__last-name:last-child:not(:first-child),
  .form--vehicle-valuation .form__phone:last-child:not(:first-child),
  .form--vehicle-valuation .form__email:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .form--vehicle-valuation .form__registration:last-child:not(:first-child),
      .form--vehicle-valuation .form__mileage:last-child:not(:first-child),
      .form--vehicle-valuation .form__first-name:last-child:not(:first-child),
      .form--vehicle-valuation .form__last-name:last-child:not(:first-child),
      .form--vehicle-valuation .form__phone:last-child:not(:first-child),
      .form--vehicle-valuation .form__email:last-child:not(:first-child) {
        float: right; } }

.form--vehicle-valuation .form__part-exchange-vehicle {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__part-exchange-vehicle {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .form--vehicle-valuation .form__part-exchange-vehicle:last-child:not(:first-child) {
    float: right; }

.form--vehicle-valuation .summary {
  margin-bottom: 0.9375rem; }
  .form--vehicle-valuation .summary__title {
    margin-bottom: 0.9375rem;
    font-weight: 600; }
  .form--vehicle-valuation .summary__list {
    margin: 0;
    list-style: none; }
    .form--vehicle-valuation .summary__list li {
      margin-bottom: 0.625rem; }
      .form--vehicle-valuation .summary__list li:last-child {
        margin-bottom: 0; }

.form--vehicle-valuation .form__vehicle-specifics {
  margin: 0;
  list-style: none; }
  .form--vehicle-valuation .form__vehicle-specifics li {
    line-height: 1.2; }
    .form--vehicle-valuation .form__vehicle-specifics li .checkbox {
      margin: 0; }
    .form--vehicle-valuation .form__vehicle-specifics li .form-group {
      display: inline-block;
      margin-bottom: 0; }
    .form--vehicle-valuation .form__vehicle-specifics li label {
      line-height: 1.2; }
    .form--vehicle-valuation .form__vehicle-specifics li a {
      display: inline-block;
      margin-bottom: 0;
      margin-left: 0.1875rem;
      color: #777777; }
  .form--vehicle-valuation .form__vehicle-specifics .form__field-has-outstanding-finance {
    margin-bottom: 0.9375rem; }

.form--vehicle-valuation .form__vehicle-condition {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin: 0 0 0.9375rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__vehicle-condition {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__vehicle-condition {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--vehicle-valuation .form__vehicle-condition::before, .form--vehicle-valuation .form__vehicle-condition::after {
    display: table;
    content: ' '; }
  .form--vehicle-valuation .form__vehicle-condition::after {
    clear: both; }
  .form--vehicle-valuation .form__vehicle-condition > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--vehicle-valuation .form__vehicle-condition > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n) {
      clear: none; }
    .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n+1) {
      clear: both; }
    .form--vehicle-valuation .form__vehicle-condition > li:last-child {
      float: left; }
  @media screen and (min-width: 48em) {
    .form--vehicle-valuation .form__vehicle-condition > li {
      float: left;
      width: 20%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .form--vehicle-valuation .form__vehicle-condition > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n) {
        clear: none; }
      .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(5n+1) {
        clear: both; }
      .form--vehicle-valuation .form__vehicle-condition > li:last-child {
        float: left; } }
  .form--vehicle-valuation .form__vehicle-condition li {
    margin-bottom: 0.625rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .form--vehicle-valuation .form__vehicle-condition li {
        margin-bottom: 0.9375rem; } }
    @media screen and (min-width: 48em) {
      .form--vehicle-valuation .form__vehicle-condition li {
        margin-bottom: 0; } }

.form--vehicle-valuation .field-partexchangeform-lightcondition {
  display: none; }

.form--vehicle-valuation .form__valuation h3, .form--vehicle-valuation .form__valuation .branch--full .branch__directions-title, .branch--full .form--vehicle-valuation .form__valuation .branch__directions-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__address-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__address-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__telephone-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__telephone-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__opening-hours-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__opening-hours-title, .form--vehicle-valuation .form__valuation .custom-entry--featured .custom-entry__sub-title, .custom-entry--featured .form--vehicle-valuation .form__valuation .custom-entry__sub-title, .form--vehicle-valuation .form__valuation .offer--featured .offer__sub-title, .offer--featured .form--vehicle-valuation .form__valuation .offer__sub-title, .form--vehicle-valuation .form__valuation .add-on__title, .form--vehicle-valuation .form__valuation .calendar__header .calendar__month span, .calendar__header .calendar__month .form--vehicle-valuation .form__valuation span, .form--vehicle-valuation .form__valuation .collection-delivery__title, .form--vehicle-valuation .form__valuation .order-payment__title, .form--vehicle-valuation .form__valuation .page--teaser .page__sub-title, .page--teaser .form--vehicle-valuation .form__valuation .page__sub-title, .form--vehicle-valuation .form__valuation .part--featured .part__sub-title, .part--featured .form--vehicle-valuation .form__valuation .part__sub-title, .form--vehicle-valuation .form__valuation .post--featured .post__sub-title, .post--featured .form--vehicle-valuation .form__valuation .post__sub-title, .form--vehicle-valuation .form__valuation .quick-search__legend, .form--vehicle-valuation .form__valuation .finance-checker__details-title, .form--vehicle-valuation .form__valuation .finance-table--order .finance-table__title, .finance-table--order .form--vehicle-valuation .form__valuation .finance-table__title,
.form--vehicle-valuation .form__valuation .finance-table--full .finance-table__title, .finance-table--full .form--vehicle-valuation .form__valuation .finance-table__title, .form--vehicle-valuation .form__valuation .finance-proposal-form .card .card-divider, .finance-proposal-form .card .form--vehicle-valuation .form__valuation .card-divider, .form--vehicle-valuation .form__valuation .block--default .block__title, .block--default .form--vehicle-valuation .form__valuation .block__title, .form--vehicle-valuation .form__valuation .block--sidebar .block__title, .block--sidebar .form--vehicle-valuation .form__valuation .block__title, .form--vehicle-valuation .form__valuation .order-state-summary__vehicle-title, .form--vehicle-valuation .form__valuation .page--contact .page__directions-title, .page--contact .form--vehicle-valuation .form__valuation .page__directions-title, .form--vehicle-valuation .form__valuation .extras__list-title {
  margin-bottom: 0; }

.form--vehicle-valuation .form__valuation .form__valuation-description {
  margin-top: 0.9375rem; }

.reveal--vehicle-valuation {
  padding-top: 3.125rem; }
  .reveal--vehicle-valuation p:last-child {
    margin-bottom: 0; }

form [type='text'],
form [type='password'],
form [type='date'],
form [type='datetime'],
form [type='datetime-local'],
form [type='month'],
form [type='week'],
form [type='email'],
form [type='number'],
form [type='search'],
form [type='tel'],
form [type='time'],
form [type='url'],
form [type='color'] {
  height: 2.75rem;
  margin-bottom: 0; }
  form [type='text']:disabled,
  form [type='password']:disabled,
  form [type='date']:disabled,
  form [type='datetime']:disabled,
  form [type='datetime-local']:disabled,
  form [type='month']:disabled,
  form [type='week']:disabled,
  form [type='email']:disabled,
  form [type='number']:disabled,
  form [type='search']:disabled,
  form [type='tel']:disabled,
  form [type='time']:disabled,
  form [type='url']:disabled,
  form [type='color']:disabled {
    color: #999999; }

form select {
  height: 2.75rem;
  margin-bottom: 0;
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%232d3737' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem; }
  form select:disabled {
    color: #999999; }

form textarea {
  height: 6.25rem;
  margin-bottom: 0; }

form .help-block {
  margin-bottom: 0.9375rem;
  color: #cc4b37;
  font-size: 0.8125rem; }

form [type='hidden'] + .help-block {
  display: none; }

form .required label.control-label::after {
  content: ' *';
  color: #cc4b37; }

form .form-marketing__message {
  margin-bottom: 0.9375rem;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8; }

form .form-marketing__label label::after {
  content: ' *';
  color: #cc4b37; }

form .form-marketing__fields label {
  display: inline-block;
  margin-right: 0.9375rem; }

form .form-marketing__fields .form-group .js-marketing {
  position: absolute;
  width: 0.0625rem;
  visibility: hidden; }

form .form-marketing__fields .form-group .help-block {
  margin-bottom: 0; }

form .form-marketing__channels {
  margin-bottom: 0.9375rem;
  font-size: 0.875rem; }
  form .form-marketing__channels label {
    display: inline-block;
    margin-right: 0.9375rem; }
  form .form-marketing__channels [type='checkbox'] {
    margin-bottom: 0; }

.form-disclaimer {
  font-size: 0.875rem;
  line-height: 1.8;
  opacity: 0.6; }

.no-image {
  position: relative;
  width: 100%;
  padding-top: 75%;
  background-color: #414141; }
  .no-image__text {
    position: absolute;
    margin-top: -0.625rem;
    top: 50%;
    left: 0;
    bottom: 0;
    right: 0;
    font-size: 1.25rem;
    color: #ffffff;
    line-height: 1;
    text-align: center; }

.vehicle--recently-viewed .no-image .no-image__text {
  margin-top: -0.375rem;
  font-size: 0.75rem; }

.vehicle--full .no-image .no-image__text {
  margin-top: -0.8125rem;
  font-size: 1.625rem; }

.vehicle--similar .no-image .no-image__text {
  margin-top: -0.625rem;
  font-size: 1.25rem; }

@media print, screen and (min-width: 40em) {
  .vehicle--compare .no-image {
    height: 11.25rem;
    padding-top: 0; } }

@media screen and (max-width: 39.9375em) {
  .vehicle--teaser .no-image .no-image__text,
  .vehicle--featured .no-image .no-image__text,
  .vehicle--featured-sidebar .no-image .no-image__text,
  .vehicle--latest .no-image .no-image__text,
  .vehicle--latest-sidebar .no-image .no-image__text,
  .vehicle--similar .no-image .no-image__text {
    margin-top: -0.8125rem;
    font-size: 1.625rem; } }

.primary-image {
  position: relative; }
  .primary-image__title {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0.75rem;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1; }
  .primary-image__description {
    display: none;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .primary-image__description {
        display: block; } }
  .primary-image--vehicle .primary-image__image img {
    color: transparent; }

.secondary-image {
  position: relative; }
  .secondary-image__title {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0.75rem;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1; }
  .secondary-image__description {
    display: none;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .secondary-image__description {
        display: block; } }

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

.video--page .video__title {
  margin-bottom: 0.375rem; }

.new-vehicle--full .new-vehicle__top {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  background-color: #1d1d1d; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__top {
      padding-top: 0;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__top-inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
    .new-vehicle--full .new-vehicle__top-inner::before, .new-vehicle--full .new-vehicle__top-inner::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__top-inner::after {
      clear: both; }
  .new-vehicle--full .new-vehicle__top .new-vehicle__promo-text {
    display: block;
    position: inherit;
    top: inherit;
    left: inherit;
    margin-bottom: 0.625rem; }

.new-vehicle--full .new-vehicle__back {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__back {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__back:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__back a {
    display: inline-block;
    margin-bottom: 0.375rem; }
    .new-vehicle--full .new-vehicle__back a i {
      font-size: 0.75rem; }
    .new-vehicle--full .new-vehicle__back a span {
      line-height: 1;
      vertical-align: middle; }

.new-vehicle--full .new-vehicle__media {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 48em) {
    .new-vehicle--full .new-vehicle__media {
      width: 58.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__media {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
        float: right; } }

.new-vehicle--full .new-vehicle__primary-images ul {
  margin: 0;
  list-style: none; }

.new-vehicle--full .new-vehicle__primary-images-thumbnails {
  display: none;
  margin-top: 0.125rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__primary-images-thumbnails {
      display: block; } }
  .new-vehicle--full .new-vehicle__primary-images-thumbnails ul {
    margin: 0;
    list-style: none; }

.new-vehicle--full .new-vehicle__details {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 48em) {
    .new-vehicle--full .new-vehicle__details {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__details {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
        float: right; } }
  .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner {
    padding: 0.625rem;
    background-color: #111111; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner {
        padding: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__title {
      margin-bottom: 0.9375rem;
      line-height: 1; }
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__title .new-vehicle__model-variant {
        display: block;
        font-size: 1.5rem;
        font-weight: 400; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__price {
      margin-bottom: 0.9375rem; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__telephone {
      margin-bottom: 0.9375rem;
      font-size: 1rem;
      text-align: center;
      line-height: 1.5rem; }
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__telephone span {
        display: block;
        font-size: 1.625rem;
        font-weight: 600; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__cta {
      padding: 0.625rem 1.25rem;
      background-color: #1d1d1d; }

.new-vehicle--full .new-vehicle__part-exchange {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__part-exchange:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__part-exchange:last-child:not(:first-child) {
        float: right; } }

.new-vehicle--full > .new-vehicle__technical-data-promoted {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted::before, .new-vehicle--full > .new-vehicle__technical-data-promoted::after {
    display: table;
    content: ' '; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full > .new-vehicle__technical-data-promoted:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted, .new-vehicle--full > .new-vehicle__technical-data-promoted:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    list-style: none; }
    @media screen and (max-width: 39.9375em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 64em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (max-width: 39.9375em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::before, .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 100%; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n+1) {
            clear: both; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 64em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::before, .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 50%; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(2n+1) {
            clear: both; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin: 0;
        list-style-type: none;
        display: table;
        width: 100%;
        table-layout: fixed; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          display: table-cell;
          vertical-align: middle; }
          [data-whatinput='mouse'] .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
            outline: 0; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li > a {
          display: block;
          padding: 0.7rem 1rem;
          line-height: 1; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul input,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul select,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul a,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul button {
          margin-bottom: 0; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:first-child:last-child {
          width: 100%; } }
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          padding: 0 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          vertical-align: top; } }

.new-vehicle--full .new-vehicle__technical-data-summary {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .new-vehicle--full .new-vehicle__technical-data-summary::before, .new-vehicle--full .new-vehicle__technical-data-summary::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__technical-data-summary::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data-summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__technical-data-summary:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__technical-data-summary, .new-vehicle--full .new-vehicle__technical-data-summary:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data-summary {
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__technical-data-summary > ul {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul::before, .new-vehicle--full .new-vehicle__technical-data-summary > ul::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul::after {
      clear: both; }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
      float: left;
      width: 100%; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
        float: left; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
        float: left;
        width: 50%; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(2n+1) {
          clear: both; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
        float: left;
        width: 33.33333%; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(3n+1) {
          clear: both; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
          padding: 0 0.9375rem 0.25rem; } }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-child(3n) {
          border-right: none; } }
  .new-vehicle--full .new-vehicle__technical-data-summary .show {
    text-align: center; }
    .new-vehicle--full .new-vehicle__technical-data-summary .show a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      padding: 0.75rem 0.875rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 5px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #777777;
      color: #ffffff;
      display: inline-block;
      margin-bottom: 0;
      padding: 0.625rem 0.75rem;
      font-size: 1rem;
      font-weight: 600; }
      [data-whatinput='mouse'] .new-vehicle--full .new-vehicle__technical-data-summary .show a {
        outline: 0; }
      .new-vehicle--full .new-vehicle__technical-data-summary .show a:hover, .new-vehicle--full .new-vehicle__technical-data-summary .show a:focus {
        background-color: #656565;
        color: #ffffff; }

.new-vehicle--full .new-vehicle__description {
  line-height: 1.8; }
  @media screen and (max-width: 39.9375em) {
    .new-vehicle--full .new-vehicle__description {
      position: relative;
      overflow: hidden; } }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__description {
      text-align: center; } }
  .new-vehicle--full .new-vehicle__description .expand {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6.25rem;
    padding-top: 4.6875rem;
    font-weight: 600;
    background: linear-gradient(to top, #111111 0%, #111111 25%, rgba(17, 17, 17, 0) 100%); }
  .new-vehicle--full .new-vehicle__description-outer {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-bottom: 1.875rem; }
    .new-vehicle--full .new-vehicle__description-outer::before, .new-vehicle--full .new-vehicle__description-outer::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__description-outer::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__description-outer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__description-outer:last-child:not(:first-child) {
      float: right; }
    .new-vehicle--full .new-vehicle__description-outer, .new-vehicle--full .new-vehicle__description-outer:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__description-outer {
        padding-bottom: 3.125rem; } }

.new-vehicle--full .new-vehicle__secondary-images {
  background-color: #1d1d1d;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__secondary-images {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__secondary-images-inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .new-vehicle--full .new-vehicle__secondary-images-inner::before, .new-vehicle--full .new-vehicle__secondary-images-inner::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__secondary-images-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__secondary-images-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__secondary-images-inner:last-child:not(:first-child) {
      float: right; }
    .new-vehicle--full .new-vehicle__secondary-images-inner, .new-vehicle--full .new-vehicle__secondary-images-inner:last-child {
      float: none; }
  .new-vehicle--full .new-vehicle__secondary-images ul {
    margin: 0;
    list-style: none; }

.new-vehicle--full .new-vehicle__content {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .new-vehicle--full .new-vehicle__content::before, .new-vehicle--full .new-vehicle__content::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__content::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__content:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__content, .new-vehicle--full .new-vehicle__content:last-child {
    float: none; }
  .new-vehicle--full .new-vehicle__content-outer {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    background-color: #242424; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__content-outer {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__content-inner {
    background-color: #111111; }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__content-inner {
        padding: 1.25rem; } }

.new-vehicle--full .new-vehicle__specification > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .new-vehicle--full .new-vehicle__specification > ul::before, .new-vehicle--full .new-vehicle__specification > ul::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__specification > ul::after {
    clear: both; }
  .new-vehicle--full .new-vehicle__specification > ul > li {
    float: left;
    width: 100%; }
    .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n) {
      clear: none; }
    .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .new-vehicle--full .new-vehicle__specification > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__specification > ul > li {
      float: left;
      width: 33.33333%; }
      .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__specification > ul > li:last-child {
        float: left; } }
  .new-vehicle--full .new-vehicle__specification > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__specification > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .new-vehicle--full .new-vehicle__specification > ul > li .specification {
      display: inline; }
      .new-vehicle--full .new-vehicle__specification > ul > li .specification__value {
        display: inline; }
    .new-vehicle--full .new-vehicle__specification > ul > li ul {
      margin-left: 0;
      color: #999999;
      list-style: square;
      list-style-position: inside; }

.new-vehicle--full .new-vehicle__specification-button {
  text-align: center; }
  .new-vehicle--full .new-vehicle__specification-button .button {
    display: none; }

.new-vehicle--full .new-vehicle__technical-data > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .new-vehicle--full .new-vehicle__technical-data > ul::before, .new-vehicle--full .new-vehicle__technical-data > ul::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__technical-data > ul::after {
    clear: both; }
  .new-vehicle--full .new-vehicle__technical-data > ul > li {
    float: left;
    width: 100%; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n) {
      clear: none; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data > ul > li {
      float: left;
      width: 33.33333%; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:last-child {
        float: left; } }
  .new-vehicle--full .new-vehicle__technical-data > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__label {
      display: inline-block; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__label::after {
        content: ':'; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__value {
      display: inline-block;
      float: right;
      font-weight: 600; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li ul {
      margin-left: 0;
      list-style: none; }

.new-vehicle--full .new-vehicle__documents ul,
.new-vehicle--full .new-vehicle__audio ul {
  margin-left: 0;
  list-style: none; }
  .new-vehicle--full .new-vehicle__documents ul li,
  .new-vehicle--full .new-vehicle__audio ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.new-vehicle--full .new-vehicle__similar {
  background-color: #1d1d1d; }

.new-vehicle--teaser {
  position: relative;
  background-color: #111111; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--teaser {
      padding: 0.9375rem; } }
  .new-vehicle--teaser .new-vehicle__primary-images {
    position: relative; }
  .new-vehicle--teaser .new-vehicle__details {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__details {
        padding-bottom: 0; } }
  .new-vehicle--teaser .new-vehicle__header {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__header {
        padding-left: 0;
        padding-right: 0; } }
  .new-vehicle--teaser .new-vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__make,
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .new-vehicle--teaser .new-vehicle__footer {
    display: none;
    margin-top: 0.625rem;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__footer {
        display: block; } }
  @media screen and (max-width: 39.9375em) {
    .new-vehicle--teaser .dropdown-pane {
      display: none; } }

.new-vehicle__media-count {
  position: absolute;
  bottom: 0;
  left: 0; }
  .new-vehicle__media-count > ul {
    margin-left: 0;
    margin-bottom: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    font-size: 1rem;
    line-height: 1;
    background-color: #111111; }
    .new-vehicle__media-count > ul li {
      display: inline-block;
      padding: 0.375rem 0.125rem; }
      .new-vehicle__media-count > ul li i {
        font-size: 1.25rem;
        line-height: 1; }

.new-vehicle__promo-text {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem; }
  .new-vehicle__promo-text span {
    padding: 0.25rem 0.5rem;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    background-color: #777777;
    border-radius: 0.1875rem; }

.offer--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--featured::before, .offer--featured::after {
    display: table;
    content: ' '; }
  .offer--featured::after {
    clear: both; }
  .offer--featured .offer__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--featured .offer__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--featured .offer__primary-images:last-child:not(:first-child) {
          float: right; } }
  .offer--featured .offer__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--featured .offer__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--featured .offer__content:last-child:not(:first-child) {
          float: right; } }
  .offer--featured .offer__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__content--without-image:last-child:not(:first-child) {
      float: right; }
  .offer--featured .offer__title {
    margin-bottom: 0.625rem; }
  .offer--featured .offer__sub-title {
    margin-bottom: 0.625rem; }
  .offer--featured .offer__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .offer--featured .offer__link .button {
    margin-bottom: 0; }

.offer--full .offer__primary-images {
  margin-bottom: 1.25rem; }
  .offer--full .offer__primary-images ul {
    margin: 0;
    list-style: none; }

.offer--full .offer__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .offer--full .offer__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .offer--full .offer__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.offer--full .offer__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--full .offer__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--full .offer__videos ul::before, .offer--full .offer__videos ul::after {
    display: table;
    content: ' '; }
  .offer--full .offer__videos ul::after {
    clear: both; }
  .offer--full .offer__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--full .offer__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--full .offer__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .offer--full .offer__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .offer--full .offer__videos ul > li:last-child {
      float: left; }
  .offer--full .offer__videos ul li {
    margin-bottom: 1.25rem; }

.offer--full .offer__description,
.offer--full .offer__table {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__description,
    .offer--full .offer__table {
      padding-bottom: 1.25rem; } }
  .offer--full .offer__description p:last-child,
  .offer--full .offer__table p:last-child {
    margin-bottom: 0; }
  .offer--full .offer__description p a:not(.button),
  .offer--full .offer__table p a:not(.button) {
    text-decoration: underline; }
    .offer--full .offer__description p a:not(.button):hover,
    .offer--full .offer__table p a:not(.button):hover {
      text-decoration: none; }

.offer--full .offer__files ul {
  margin-left: 0;
  list-style: none; }
  .offer--full .offer__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.offer--full .offer__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .offer--full .offer__form {
      padding-bottom: 1.25rem; } }

.offer--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--teaser::before, .offer--teaser::after {
    display: table;
    content: ' '; }
  .offer--teaser::after {
    clear: both; }
  .offer--teaser .offer__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--teaser .offer__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--teaser .offer__primary-images:last-child:not(:first-child) {
          float: right; } }
  .offer--teaser .offer__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--teaser .offer__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--teaser .offer__content:last-child:not(:first-child) {
          float: right; } }
  .offer--teaser .offer__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__content--without-image:last-child:not(:first-child) {
      float: right; }
  .offer--teaser .offer__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .offer--teaser .offer__link .button {
    margin-bottom: 0; }

.add-on {
  padding: 0.625rem;
  background-color: #292929; }
  @media print, screen and (min-width: 40em) {
    .add-on {
      padding: 0.9375rem; } }
  .add-on span.has-error {
    color: #cc4b37; }
  .add-on__inner {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .add-on__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .add-on__inner::before, .add-on__inner::after {
      display: table;
      content: ' '; }
    .add-on__inner::after {
      clear: both; }
  .add-on__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .add-on__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .add-on__image {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .add-on__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .add-on__image:last-child:not(:first-child) {
          float: right; } }
    .add-on__image img {
      width: 100%; }
  .add-on__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .add-on__details:last-child:not(:first-child) {
      float: right; }
  .add-on__link {
    margin-top: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .add-on__link {
        text-align: right; } }
    .add-on__link .button {
      margin-bottom: 0; }
  .add-on__description {
    margin-top: 0.625rem; }
  .add-on__video {
    margin-top: 0.625rem; }
    .add-on__video a:hover,
    .add-on__video a:focus {
      text-decoration: none; }
    .add-on__video span {
      vertical-align: middle; }
  .add-on__video-approval {
    margin-top: 0.625rem; }
  .add-on--selected {
    background-color: #414141; }
  @media print, screen and (min-width: 64em) {
    .add-on--image .add-on__details {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .add-on--image .add-on__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .add-on--image .add-on__details:last-child:not(:first-child) {
        float: right; } }

.listing--add-on .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .listing--add-on .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--add-on .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--add-on .listing__list::before, .listing--add-on .listing__list::after {
    display: table;
    content: ' '; }
  .listing--add-on .listing__list::after {
    clear: both; }
  .listing--add-on .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--add-on .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--add-on .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--add-on .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--add-on .listing__list > li:last-child {
      float: left; }
  .listing--add-on .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--add-on .listing__list-item {
        margin-bottom: 0.9375rem; } }
    .listing--add-on .listing__list-item:last-child {
      margin-bottom: 0; }

.calendar {
  margin-top: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .calendar {
      margin-top: 0.9375rem; } }
  .calendar__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .calendar__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .calendar__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .calendar__header::before, .calendar__header::after {
      display: table;
      content: ' '; }
    .calendar__header::after {
      clear: both; }
    .calendar__header .calendar__switch {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }
      @media print, screen and (min-width: 40em) {
        .calendar__header .calendar__switch {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .calendar__header .calendar__switch:last-child:not(:first-child) {
        float: right; }
      .calendar__header .calendar__switch a {
        font-size: 0.875rem; }
        @media print, screen and (min-width: 40em) {
          .calendar__header .calendar__switch a {
            font-size: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .calendar__header .calendar__switch a {
            font-size: 1.125rem; } }
        .calendar__header .calendar__switch a i {
          margin-right: 0.375rem; }
      .calendar__header .calendar__switch--next {
        text-align: right; }
        .calendar__header .calendar__switch--next a i {
          margin-left: 0.375rem; }
    .calendar__header .calendar__month {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .calendar__header .calendar__month {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .calendar__header .calendar__month:last-child:not(:first-child) {
        float: right; }
  .calendar__table {
    overflow-y: auto; }
    .calendar__table table {
      margin-bottom: 0; }
      .calendar__table table th {
        font-size: 1rem; }
      .calendar__table table td.slot {
        color: #ffffff;
        font-size: 1rem;
        text-align: center;
        background-color: #777777; }
      .calendar__table table td:hover {
        background-color: #5e5e5e;
        cursor: pointer; }
      .calendar__table table td.disabled {
        cursor: auto;
        background-color: #292929; }
        .calendar__table table td.disabled:hover {
          cursor: auto; }
      .calendar__table table td.closed {
        cursor: auto;
        background-color: #292929; }
        .calendar__table table td.closed:hover {
          cursor: auto; }
      .calendar__table table td.selected {
        background-color: #3adb76; }

.reveal.reveal--collection-map {
  padding-top: 3.125rem; }

#collection-map {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; }

.collection-delivery {
  padding: 0.625rem;
  background-color: #292929; }
  @media print, screen and (min-width: 40em) {
    .collection-delivery {
      padding: 0.9375rem; } }
  .collection-delivery--selected {
    background-color: #414141; }
  .collection-delivery__inner {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .collection-delivery__inner::before, .collection-delivery__inner::after {
      display: table;
      content: ' '; }
    .collection-delivery__inner::after {
      clear: both; }
  .collection-delivery__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .collection-delivery__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__image {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .collection-delivery__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .collection-delivery__image:last-child:not(:first-child) {
          float: right; } }
    .collection-delivery__image img {
      width: 100%; }
  .collection-delivery__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .collection-delivery__details:last-child:not(:first-child) {
      float: right; }
  .collection-delivery__description {
    margin-top: 0.625rem; }
  .collection-delivery__address {
    margin-top: 0.625rem; }
  .collection-delivery__map {
    margin-top: 0.625rem; }
    .collection-delivery__map span {
      vertical-align: middle; }
  .collection-delivery__link {
    margin-top: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__link {
        text-align: right; } }
    .collection-delivery__link .button {
      margin-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .collection-delivery--image .collection-delivery__details {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .collection-delivery--image .collection-delivery__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .collection-delivery--image .collection-delivery__details:last-child:not(:first-child) {
        float: right; } }

.listing--collection-delivery .listing__list {
  margin: 0;
  list-style: none;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--collection-delivery .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--collection-delivery .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--collection-delivery .listing__list::before, .listing--collection-delivery .listing__list::after {
    display: table;
    content: ' '; }
  .listing--collection-delivery .listing__list::after {
    clear: both; }
  .listing--collection-delivery .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--collection-delivery .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--collection-delivery .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--collection-delivery .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--collection-delivery .listing__list > li:last-child {
      float: left; }
  .listing--collection-delivery .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--collection-delivery .listing__list-item {
        margin-bottom: 0.9375rem; } }
    .listing--collection-delivery .listing__list-item:last-child {
      margin-bottom: 0; }

.order-introduction__content {
  margin-bottom: 0.9375rem; }
  .order-introduction__content p:last-child {
    margin-bottom: 0; }
  .order-introduction__content p a:not(.button) {
    text-decoration: underline; }
    .order-introduction__content p a:not(.button):hover {
      text-decoration: none; }

.order-introduction__link .button {
  margin-bottom: 0; }

.order-payment {
  padding: 0.625rem;
  background-color: #292929; }
  @media print, screen and (min-width: 40em) {
    .order-payment {
      padding: 0.9375rem; } }
  .order-payment__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .order-payment__link .button {
    width: 100%;
    margin-bottom: 0; }

.order-progress__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .order-progress__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .order-progress__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .order-progress__list::before, .order-progress__list::after {
    display: table;
    content: ' '; }
  .order-progress__list::after {
    clear: both; }
  .order-progress__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list > li:nth-of-type(1n+1) {
      clear: both; }
    .order-progress__list > li:last-child {
      float: left; }
  .order-progress__list li.active .order-progress__bar {
    background-color: #777777; }
  .order-progress__list--2 > li {
    float: left;
    width: 50%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--2 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--2 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--2 > li:nth-of-type(2n+1) {
      clear: both; }
    .order-progress__list--2 > li:last-child {
      float: left; }
  .order-progress__list--3 > li {
    float: left;
    width: 33.33333%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--3 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--3 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--3 > li:nth-of-type(3n+1) {
      clear: both; }
    .order-progress__list--3 > li:last-child {
      float: left; }
  .order-progress__list--4 > li {
    float: left;
    width: 25%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--4 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--4 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--4 > li:nth-of-type(4n+1) {
      clear: both; }
    .order-progress__list--4 > li:last-child {
      float: left; }
  .order-progress__list--5 > li {
    float: left;
    width: 20%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--5 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--5 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--5 > li:nth-of-type(5n+1) {
      clear: both; }
    .order-progress__list--5 > li:last-child {
      float: left; }
  .order-progress__list--6 > li {
    float: left;
    width: 16.66667%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--6 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--6 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--6 > li:nth-of-type(6n+1) {
      clear: both; }
    .order-progress__list--6 > li:last-child {
      float: left; }

.order-progress__title {
  margin-bottom: 0; }

.order-progress__sub-title {
  display: none;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    .order-progress__sub-title {
      display: block; } }
  @media screen and (min-width: 75em) {
    .order-progress__sub-title {
      font-size: 1rem; } }
  @media screen and (min-width: 90em) {
    .order-progress__sub-title {
      font-size: 1.125rem; } }

.order-progress__bar {
  width: 100%;
  height: 0.625rem;
  background-color: #292929; }
  @media print, screen and (min-width: 64em) {
    .order-progress__bar {
      height: 0.9375rem; } }

.order-summary ul {
  margin: 0;
  list-style: none; }
  .order-summary ul li {
    display: inline-block;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-summary ul li {
        margin-right: 0.9375rem; } }
    .order-summary ul li:last-child {
      margin-right: 0; }

.order-summary .button {
  margin-bottom: 0; }

.order {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .order::before, .order::after {
    display: table;
    content: ' '; }
  .order::after {
    clear: both; }
  .order__progress {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__progress {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__progress:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .order__progress {
        margin-bottom: 1.875rem; } }
  .order__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .order__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .order__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .order__content:last-child:not(:first-child) {
          float: right; } }
  .order__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .order__summary {
        margin-top: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .order__summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-top: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .order__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .order__summary:last-child:not(:first-child) {
          float: right; } }
  .order__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .order__footer {
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__footer {
        margin-top: 1.875rem; } }
    .order__footer .button {
      margin-bottom: 0; }

.part-exchange__footer {
  margin-top: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part-exchange__footer {
      margin-top: 1.25rem; } }
  .part-exchange__footer .button {
    display: inline-block;
    margin-right: 0.625rem;
    margin-top: 0.625rem; }

.page--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .page--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .page--teaser::before, .page--teaser::after {
    display: table;
    content: ' '; }
  .page--teaser::after {
    clear: both; }
  .page--teaser .page__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page--teaser .page__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .page--teaser .page__primary-images:last-child:not(:first-child) {
          float: right; } }
  .page--teaser .page__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page--teaser .page__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .page--teaser .page__content:last-child:not(:first-child) {
          float: right; } }
  .page--teaser .page__content--without-media {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content--without-media {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__content--without-media:last-child:not(:first-child) {
      float: right; }
  .page--teaser .page__title {
    margin-bottom: 0.625rem; }
  .page--teaser .page__sub-title {
    margin-bottom: 0.625rem; }
  .page--teaser .page__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .page--teaser .page__link .button {
    margin-bottom: 0; }

.part--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--featured::before, .part--featured::after {
    display: table;
    content: ' '; }
  .part--featured::after {
    clear: both; }
  .part--featured .part__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--featured .part__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--featured .part__primary-images:last-child:not(:first-child) {
          float: right; } }
  .part--featured .part__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--featured .part__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--featured .part__content:last-child:not(:first-child) {
          float: right; } }
  .part--featured .part__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__content--without-image:last-child:not(:first-child) {
      float: right; }
  .part--featured .part__title {
    margin-bottom: 0.625rem; }
  .part--featured .part__sub-title {
    margin-bottom: 0.625rem; }
  .part--featured .part__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .part--featured .part__link .button {
    margin-bottom: 0; }

.part--full .part__primary-images {
  margin-bottom: 1.25rem; }
  .part--full .part__primary-images ul {
    margin: 0;
    list-style: none; }

.part--full .part__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .part--full .part__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .part--full .part__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.part--full .part__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--full .part__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--full .part__videos ul::before, .part--full .part__videos ul::after {
    display: table;
    content: ' '; }
  .part--full .part__videos ul::after {
    clear: both; }
  .part--full .part__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--full .part__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--full .part__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .part--full .part__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .part--full .part__videos ul > li:last-child {
      float: left; }
  .part--full .part__videos ul li {
    margin-bottom: 1.25rem; }

.part--full .part__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__description {
      padding-bottom: 1.25rem; } }
  .part--full .part__description p:last-child {
    margin-bottom: 0; }
  .part--full .part__description p a:not(.button) {
    text-decoration: underline; }
    .part--full .part__description p a:not(.button):hover {
      text-decoration: none; }

.part--full .part__files ul {
  margin-left: 0;
  list-style: none; }
  .part--full .part__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.part--full .part__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .part--full .part__form {
      padding-bottom: 1.25rem; } }

.part--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--teaser::before, .part--teaser::after {
    display: table;
    content: ' '; }
  .part--teaser::after {
    clear: both; }
  .part--teaser .part__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--teaser .part__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--teaser .part__primary-images:last-child:not(:first-child) {
          float: right; } }
  .part--teaser .part__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--teaser .part__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--teaser .part__content:last-child:not(:first-child) {
          float: right; } }
  .part--teaser .part__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__content--without-image:last-child:not(:first-child) {
      float: right; }
  .part--teaser .part__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .part--teaser .part__link .button {
    margin-bottom: 0; }

.meta > ul {
  margin: 0 0 0.9375rem 0;
  list-style: none; }
  .meta > ul > li {
    display: inline-block;
    margin-right: 0.375rem; }

.meta__published span {
  font-weight: 600; }

.meta__categories-title, .meta__tags-title {
  display: inline-block;
  margin-right: 0.1875rem; }

.meta__categories ul, .meta__tags ul {
  display: inline-block;
  margin: 0;
  list-style: none; }
  .meta__categories ul li, .meta__tags ul li {
    display: inline-block;
    font-weight: 600; }
    .meta__categories ul li::after, .meta__tags ul li::after {
      content: ',';
      margin-right: 0.1875rem;
      font-weight: 400; }
    .meta__categories ul li:last-child::after, .meta__tags ul li:last-child::after {
      content: '';
      margin-right: 0; }

.post--default .post__description {
  margin-bottom: 1.25rem; }

.post--default .post__primary-images {
  margin-bottom: 1.25rem; }
  .post--default .post__primary-images ul {
    margin: 0;
    list-style: none; }

.post--default .post__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .post--default .post__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .post--default .post__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .post--default .post__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.post--default .post__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--default .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--default .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--default .post__videos ul::before, .post--default .post__videos ul::after {
    display: table;
    content: ' '; }
  .post--default .post__videos ul::after {
    clear: both; }
  .post--default .post__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--default .post__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--default .post__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .post--default .post__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .post--default .post__videos ul > li:last-child {
      float: left; }
  .post--default .post__videos ul li {
    margin-bottom: 1.25rem; }

.post--default .post__files ul {
  margin-left: 0;
  list-style: none; }
  .post--default .post__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.post--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--featured::before, .post--featured::after {
    display: table;
    content: ' '; }
  .post--featured::after {
    clear: both; }
  .post--featured .post__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--featured .post__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--featured .post__primary-images:last-child:not(:first-child) {
          float: right; } }
  .post--featured .post__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--featured .post__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--featured .post__content:last-child:not(:first-child) {
          float: right; } }
  .post--featured .post__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__content--without-image:last-child:not(:first-child) {
      float: right; }
  .post--featured .post__title {
    margin-bottom: 0.625rem; }
  .post--featured .post__sub-title {
    margin-bottom: 0.625rem; }
  .post--featured .post__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .post--featured .post__link .button {
    margin-bottom: 0; }

.post--full-width .post__description {
  margin-bottom: 1.25rem; }

.post--full-width .post__primary-images {
  margin-bottom: 1.25rem; }
  .post--full-width .post__primary-images ul {
    margin: 0;
    list-style: none; }

.post--full-width .post__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .post--full-width .post__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .post--full-width .post__secondary-images {
      width: 25rem; } }
  .post--full-width .post__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .post--full-width .post__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .post--full-width .post__videos {
    width: 25rem; } }

.post--full-width .post__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--full-width .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--full-width .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--full-width .post__videos ul::before, .post--full-width .post__videos ul::after {
    display: table;
    content: ' '; }
  .post--full-width .post__videos ul::after {
    clear: both; }
  .post--full-width .post__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--full-width .post__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--full-width .post__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .post--full-width .post__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .post--full-width .post__videos ul > li:last-child {
      float: left; }
  .post--full-width .post__videos ul li {
    margin-bottom: 1.25rem; }

.post--full-width .post__files ul {
  margin-left: 0;
  list-style: none; }
  .post--full-width .post__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.post--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--teaser::before, .post--teaser::after {
    display: table;
    content: ' '; }
  .post--teaser::after {
    clear: both; }
  .post--teaser .post__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--teaser .post__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--teaser .post__primary-images:last-child:not(:first-child) {
          float: right; } }
  .post--teaser .post__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--teaser .post__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--teaser .post__content:last-child:not(:first-child) {
          float: right; } }
  .post--teaser .post__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__content--without-image:last-child:not(:first-child) {
      float: right; }
  .post--teaser .post__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .post--teaser .post__link .button {
    margin-bottom: 0; }

.quick-search {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .quick-search {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .quick-search {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .quick-search::before, .quick-search::after {
    display: table;
    content: ' '; }
  .quick-search::after {
    clear: both; }
  .quick-search__legend {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search__legend {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search__legend:last-child:not(:first-child) {
      float: right; }
  .quick-search .field-search-string {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search .field-search-string {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search .field-search-string:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .quick-search .field-search-string {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .quick-search .field-search-string {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .quick-search .field-search-string:last-child:not(:first-child) {
          float: right; } }
  .quick-search .field-submit {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search .field-submit {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search .field-submit:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .quick-search .field-submit {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .quick-search .field-submit {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .quick-search .field-submit:last-child:not(:first-child) {
          float: right; } }
    .quick-search .field-submit .button {
      margin-bottom: 0; }
      @media print, screen and (min-width: 64em) {
        .quick-search .field-submit .button {
          width: 100%; } }

.search-selection__count {
  display: inline-block; }

.search-selection__title {
  display: inline-block; }
  .search-selection__title::before {
    display: inline-block;
    content: '-';
    margin-right: 0.1875rem; }
  .search-selection__title a {
    text-decoration: underline; }
    .search-selection__title a:hover {
      text-decoration: none; }

.search-selection__parameters {
  margin-top: 0.3125rem; }
  @media screen and (max-width: 39.9375em) {
    .search-selection__parameters {
      width: auto;
      overflow-y: hidden;
      overflow-x: scroll;
      white-space: nowrap; }
      .search-selection__parameters::-webkit-scrollbar {
        display: none; } }

.search-selection__list {
  margin: 0 0 0.3125rem;
  padding: 0;
  list-style: none; }

.search-selection__list-item {
  display: inline-block;
  margin: 0.3125rem 0.3125rem 0.3125rem 0; }

.search-selection__parameter {
  display: inline;
  padding: 0.3125rem 0.375rem 0.3125rem 0.75rem;
  font-weight: 600;
  line-height: 1;
  background-color: #111111;
  border: 1px solid #e6e6e6;
  border-radius: 0.9375rem; }
  .search-selection__parameter:hover span {
    color: #ffffff;
    background-color: #cc4b37; }
  .search-selection__parameter span {
    margin-left: 0.375rem;
    padding: 0 0.375rem;
    font-weight: 400;
    line-height: 1;
    background-color: #1d1d1d;
    border-radius: 50%; }

.showroom--featured .showroom__primary-images {
  margin-bottom: 0.625rem; }

.showroom--full .showroom__primary-images {
  margin-bottom: 1.25rem; }
  .showroom--full .showroom__primary-images ul {
    margin: 0;
    list-style: none; }

.showroom--full .showroom__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .showroom--full .showroom__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .showroom--full .showroom__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.showroom--full .showroom__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .showroom--full .showroom__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .showroom--full .showroom__videos ul::before, .showroom--full .showroom__videos ul::after {
    display: table;
    content: ' '; }
  .showroom--full .showroom__videos ul::after {
    clear: both; }
  .showroom--full .showroom__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .showroom--full .showroom__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .showroom--full .showroom__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .showroom--full .showroom__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .showroom--full .showroom__videos ul > li:last-child {
      float: left; }
  .showroom--full .showroom__videos ul li {
    margin-bottom: 1.25rem; }

.showroom--full .showroom__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__description {
      padding-bottom: 1.25rem; } }
  .showroom--full .showroom__description p:last-child {
    margin-bottom: 0; }
  .showroom--full .showroom__description p a:not(.button) {
    text-decoration: underline; }
    .showroom--full .showroom__description p a:not(.button):hover {
      text-decoration: none; }

.showroom--teaser .showroom__primary-images {
  margin-bottom: 0.625rem; }

.price__total {
  font-size: 1.5rem;
  line-height: 1; }

.price__sold {
  font-weight: 600;
  line-height: 1; }

.price--teaser > div:nth-child(1) {
  font-size: 1.5rem; }

.price--teaser > div:nth-child(2) {
  font-size: 1.125rem; }

.price--full .price__total,
.price--full .price__sold {
  font-size: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .price--full .price__total,
    .price--full .price__sold {
      font-size: 2.125rem; } }

.price--full .price__monthly {
  font-size: 1.5rem; }

.price--compare .price__total,
.price--compare .price__sold {
  font-size: 100%;
  line-height: inherit; }

.price--recently-viewed .price__total,
.price--recently-viewed .price__sold {
  font-size: 1.125rem;
  line-height: 1; }

.price-combined__value {
  display: inline-block;
  font-weight: 600; }

.price-combined__vat {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 65%; }

.price-combined__was {
  display: inline-block;
  margin-left: 0.25rem;
  font-weight: 600; }
  .price-combined__was-label {
    font-size: 65%; }
  .price-combined__was-value {
    font-size: 75%; }

.specification__value {
  color: #ffffff; }

.vehicle--compare .vehicle__primary-images {
  position: relative;
  margin-bottom: 0.1875rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .vehicle--compare .vehicle__primary-images {
      height: 11.25rem;
      background-color: #111111; } }
  @media print, screen and (min-width: 40em) {
    .vehicle--compare .vehicle__primary-images img {
      height: auto;
      width: auto;
      max-height: 100vh;
      max-width: 100vw; } }

.vehicle--compare .vehicle__technical-data {
  margin: 0;
  list-style: none; }
  .vehicle--compare .vehicle__technical-data > li {
    height: 3.75rem;
    padding: 0.3125rem; }
    .vehicle--compare .vehicle__technical-data > li:nth-child(odd) {
      background-color: #111111; }

.vehicle--compare .vehicle__footer {
  margin-top: 0.625rem;
  text-align: center; }
  .vehicle--compare .vehicle__footer a {
    margin-right: 0.0625rem;
    margin-left: 0.0625rem; }

.vehicle--general {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--general::before, .vehicle--general::after {
    display: table;
    content: ' '; }
  .vehicle--general::after {
    clear: both; }
  .vehicle--general .vehicle__primary-images {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    position: relative; }
    .vehicle--general .vehicle__primary-images:last-child:not(:first-child) {
      float: right; }
  .vehicle--general .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--general .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #111111;
    box-sizing: border-box; }
    @media print, screen and (min-width: 40em) {
      .vehicle--general .vehicle__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--general .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--general .vehicle__details {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
  .vehicle--general .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--general .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .vehicle--general .vehicle__title .vehicle__make,
    .vehicle--general .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--general .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--general .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    margin-left: 0;
    list-style: none;
    line-height: 1.375rem; }
    .vehicle--general .vehicle__technical-data-promoted > ul > li {
      display: inline-block; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li .technical-data__label::after {
        content: ':';
        margin-right: 0.1875rem; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li .technical-data__value::after {
        content: ',';
        margin-right: 0.1875rem;
        font-weight: 400; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li:last-child .technical-data__value::after {
        content: '';
        margin-right: 0; }

.vehicle--latest {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--latest::before, .vehicle--latest::after {
    display: table;
    content: ' '; }
  .vehicle--latest::after {
    clear: both; }
  .vehicle--latest .vehicle__primary-images {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    position: relative; }
    .vehicle--latest .vehicle__primary-images:last-child:not(:first-child) {
      float: right; }
  .vehicle--latest .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--latest .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #111111;
    box-sizing: border-box; }
    @media print, screen and (min-width: 40em) {
      .vehicle--latest .vehicle__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--latest .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--latest .vehicle__details {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
  .vehicle--latest .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--latest .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .vehicle--latest .vehicle__title .vehicle__make,
    .vehicle--latest .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--latest .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--latest .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    margin-left: 0;
    list-style: none;
    line-height: 1.375rem; }
    .vehicle--latest .vehicle__technical-data-promoted > ul > li {
      display: inline-block; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li .technical-data__label::after {
        content: ':';
        margin-right: 0.1875rem; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li .technical-data__value::after {
        content: ',';
        margin-right: 0.1875rem;
        font-weight: 400; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li:last-child .technical-data__value::after {
        content: '';
        margin-right: 0; }

.vehicle--recently-viewed {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--recently-viewed::before, .vehicle--recently-viewed::after {
    display: table;
    content: ' '; }
  .vehicle--recently-viewed::after {
    clear: both; }
  .vehicle--recently-viewed .vehicle__primary-images {
    float: left;
    width: 50%; }
  .vehicle--recently-viewed .vehicle__details {
    float: left;
    width: 50%;
    padding: 0.9375rem 0.375rem 0; }
  .vehicle--recently-viewed .vehicle__title {
    font-size: 1.125rem;
    line-height: 1; }

.l-alert {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .l-alert::before, .l-alert::after {
    display: table;
    content: ' '; }
  .l-alert::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .l-alert {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-alert:last-child:not(:first-child) {
    float: right; }
  .l-alert, .l-alert:last-child {
    float: none; }

.l-breadcrumbs {
  display: none;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  background-color: #1d1d1d; }
  @media print, screen and (min-width: 40em) {
    .l-breadcrumbs {
      display: block; } }

.credit-calculator--full .credit-calculator__results {
  position: relative;
  margin-bottom: 0.9375rem; }

.fancybox-slide > .fancybox-loading {
  -webkit-animation: b .8s infinite linear; }

.fancybox-slide--image {
  padding: 0; }

.finance-price {
  line-height: 1; }
  .finance-price__list {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style: none; }
    .finance-price__list-item {
      display: inline-block;
      margin-right: 0.25rem; }
  .finance-price__label {
    font-size: 65%; }
  .finance-price__value {
    font-weight: 600; }
  .finance-price__suffix {
    display: inline-block;
    font-size: 65%; }
  .finance-price--full .finance-price__list-item::after {
    display: inline-block;
    margin-right: 0.1875rem;
    margin-left: 0.1875rem;
    font-size: 65%;
    content: 'or'; }
  .finance-price--full .finance-price__list-item:last-child::after {
    display: none; }
  .finance-price--full .finance-price__link .button {
    margin-top: 0.9375rem;
    margin-bottom: 0;
    padding: 0.375rem 0.5rem;
    font-size: 0.875rem; }

.finance-form {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-form {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-form {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-form::before, .finance-form::after {
    display: table;
    content: ' '; }
  .finance-form::after {
    clear: both; }
  .finance-form .finance-form__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form .finance-form__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form .finance-form__title:last-child:not(:first-child) {
      float: right; }
  .finance-form .form-group {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form .form-group {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form .form-group:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .finance-form .form-group {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-form .form-group {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .finance-form .form-group:last-child:not(:first-child) {
          float: right; } }
  .finance-form .button {
    width: 100%;
    margin-top: 1.5625rem;
    margin-bottom: 0; }

.finance-summary {
  display: none; }

.finance-tables {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-tables {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-tables {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-tables::before, .finance-tables::after {
    display: table;
    content: ' '; }
  .finance-tables::after {
    clear: both; }
  .finance-tables > .finance-table {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-tables > .finance-table {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-tables > .finance-table:nth-of-type(1n) {
      clear: none; }
    .finance-tables > .finance-table:nth-of-type(1n+1) {
      clear: both; }
    .finance-tables > .finance-table:last-child {
      float: left; }
  @media print, screen and (min-width: 64em) {
    .finance-tables > .finance-table {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-tables > .finance-table {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .finance-tables > .finance-table:nth-of-type(1n) {
        clear: none; }
      .finance-tables > .finance-table:nth-of-type(2n+1) {
        clear: both; }
      .finance-tables > .finance-table:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .finance-tables--3 > .finance-table {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-tables--3 > .finance-table {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .finance-tables--3 > .finance-table:nth-of-type(1n) {
        clear: none; }
      .finance-tables--3 > .finance-table:nth-of-type(3n+1) {
        clear: both; }
      .finance-tables--3 > .finance-table:last-child {
        float: left; } }
  .finance-tables .finance-warning {
    margin-top: 0.9375rem;
    text-align: center; }

.finance-table--teaser {
  margin-top: 0.9375rem;
  overflow-y: auto; }
  .finance-table--teaser table {
    margin-bottom: 0; }
    .finance-table--teaser table thead th,
    .finance-table--teaser table thead td,
    .finance-table--teaser table tbody td {
      padding: 0.25rem;
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.3;
      text-align: center; }
    .finance-table--teaser table tbody td {
      font-weight: 600; }
    .finance-table--teaser table tbody tr:nth-child(even) {
      background-color: inherit; }

.finance-example {
  overflow-y: auto;
  margin: 0.625rem 0 0.9375rem; }
  .finance-example__title {
    margin-bottom: 0; }
  .finance-example__table {
    border: 1px solid #292929;
    margin-top: 0.9375rem;
    margin-bottom: 0; }
    .finance-example__table th,
    .finance-example__table td {
      border-right: 1px solid #292929;
      text-align: center; }
      .finance-example__table th:last-child,
      .finance-example__table td:last-child {
        border-right: none; }
    .finance-example__table thead,
    .finance-example__table tbody,
    .finance-example__table tfoot {
      background: none; }
    .finance-example__table thead th {
      padding-bottom: 0;
      font-size: 0.6875rem;
      font-weight: normal; }
    .finance-example__table tbody td {
      padding-top: 0; }
    .finance-example__table tfoot td {
      padding-top: 0.25rem;
      padding-bottom: 0.25rem;
      font-weight: normal;
      text-align: center;
      border-top: 1px solid #292929; }
  .finance-example__disclaimer {
    margin-top: 0.9375rem;
    font-size: 0.75rem; }

.finance-disclaimer {
  margin-bottom: 0.9375rem;
  font-size: 0.75rem; }
  .finance-disclaimer--full {
    margin: 0.9375rem 0 0;
    text-align: center; }

.finance-checker {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-top: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .finance-checker {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-checker {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-checker::before, .finance-checker::after {
    display: table;
    content: ' '; }
  .finance-checker::after {
    clear: both; }
  .finance-checker__video {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__video {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-checker__video:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__video {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-checker__video {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .finance-checker__video:last-child:not(:first-child) {
          float: right; } }
    .finance-checker__video-inner {
      position: relative;
      height: 0;
      margin-bottom: 1rem;
      padding-bottom: 56.25%;
      overflow: hidden; }
      .finance-checker__video-inner iframe,
      .finance-checker__video-inner object,
      .finance-checker__video-inner embed,
      .finance-checker__video-inner video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
  .finance-checker__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-checker__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__details {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-checker__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .finance-checker__details:last-child:not(:first-child) {
          float: right; } }
    .finance-checker__details-image img {
      max-width: 13.75rem;
      vertical-align: top; }

.finance-widget__videos {
  padding-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .finance-widget__videos {
      padding-top: 1.875rem; } }
  .finance-widget__videos ul {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .finance-widget__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .finance-widget__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .finance-widget__videos ul::before, .finance-widget__videos ul::after {
      display: table;
      content: ' '; }
    .finance-widget__videos ul::after {
      clear: both; }
    .finance-widget__videos ul > li {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .finance-widget__videos ul > li {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .finance-widget__videos ul > li:nth-of-type(1n) {
        clear: none; }
      .finance-widget__videos ul > li:nth-of-type(1n+1) {
        clear: both; }
      .finance-widget__videos ul > li:last-child {
        float: left; }
    @media print, screen and (min-width: 40em) {
      .finance-widget__videos ul > li {
        float: left;
        width: 50%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-widget__videos ul > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .finance-widget__videos ul > li:nth-of-type(1n) {
          clear: none; }
        .finance-widget__videos ul > li:nth-of-type(2n+1) {
          clear: both; }
        .finance-widget__videos ul > li:last-child {
          float: left; } }
    .finance-widget__videos ul li {
      margin-bottom: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .finance-widget__videos ul li {
          margin-bottom: 0; } }
      .finance-widget__videos ul li:last-child {
        margin-bottom: 0; }

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

.finance-launcher a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #777777;
  color: #ffffff;
  width: 100%;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .finance-launcher a {
    outline: 0; }
  .finance-launcher a:hover, .finance-launcher a:focus {
    background-color: #656565;
    color: #ffffff; }
  .finance-launcher a .cw-view-count {
    display: block;
    font-size: 75%; }

.finance-form-order {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-form-order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-form-order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-form-order::before, .finance-form-order::after {
    display: table;
    content: ' '; }
  .finance-form-order::after {
    clear: both; }
  .finance-form-order__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form-order__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form-order__title:last-child:not(:first-child) {
      float: right; }
  .finance-form-order .form-group {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form-order .form-group {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form-order .form-group:last-child:not(:first-child) {
      float: right; }
    @media screen and (min-width: 48em) {
      .finance-form-order .form-group {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .finance-form-order .form-group {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media screen and (min-width: 48em) {
        .finance-form-order .form-group:last-child:not(:first-child) {
          float: right; } }
    @media screen and (min-width: 48em) {
      .finance-form-order .form-group .help-block {
        margin-bottom: 0; } }
  .finance-form-order .button {
    width: 100%;
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .finance-form-order .button {
        margin-top: 1.5625rem; } }

.finance-table--order,
.finance-table--full {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-table--order,
    .finance-table--full {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-table--order,
    .finance-table--full {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-table--order::before, .finance-table--order::after,
  .finance-table--full::before,
  .finance-table--full::after {
    display: table;
    content: ' '; }
  .finance-table--order::after,
  .finance-table--full::after {
    clear: both; }
  .finance-table--order > .finance-table__container,
  .finance-table--full > .finance-table__container {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-table--order > .finance-table__container,
      .finance-table--full > .finance-table__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-table--order > .finance-table__container:nth-of-type(1n),
    .finance-table--full > .finance-table__container:nth-of-type(1n) {
      clear: none; }
    .finance-table--order > .finance-table__container:nth-of-type(1n+1),
    .finance-table--full > .finance-table__container:nth-of-type(1n+1) {
      clear: both; }
    .finance-table--order > .finance-table__container:last-child,
    .finance-table--full > .finance-table__container:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .finance-table--order > .finance-table__container,
    .finance-table--full > .finance-table__container {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-table--order > .finance-table__container,
    .finance-table--full > .finance-table__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .finance-table--order > .finance-table__container:nth-of-type(1n),
      .finance-table--full > .finance-table__container:nth-of-type(1n) {
        clear: none; }
      .finance-table--order > .finance-table__container:nth-of-type(2n+1),
      .finance-table--full > .finance-table__container:nth-of-type(2n+1) {
        clear: both; }
      .finance-table--order > .finance-table__container:last-child,
      .finance-table--full > .finance-table__container:last-child {
        float: left; } }
  .finance-table--order .finance-table__container,
  .finance-table--full .finance-table__container {
    margin-top: 0.9375rem; }
    .finance-table--order .finance-table__container:last-child,
    .finance-table--full .finance-table__container:last-child {
      margin-bottom: 0; }
    .finance-table--order .finance-table__container ul,
    .finance-table--full .finance-table__container ul {
      margin: 0;
      list-style: none; }
      .finance-table--order .finance-table__container ul li,
      .finance-table--full .finance-table__container ul li {
        margin-bottom: 0.625rem;
        padding-bottom: 0.625rem;
        line-height: 1.4;
        border-bottom: 1px solid #292929; }
        .finance-table--order .finance-table__container ul li:last-child,
        .finance-table--full .finance-table__container ul li:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          border-bottom: none; }
  .finance-table--order .finance-table__title,
  .finance-table--full .finance-table__title {
    margin-bottom: 0; }
  .finance-table--order .finance-table__sub-title,
  .finance-table--full .finance-table__sub-title {
    margin-bottom: 0.9375rem; }
  .finance-table--order .finance-table__link,
  .finance-table--order .finance-table__apply,
  .finance-table--order .finance-table__deal,
  .finance-table--full .finance-table__link,
  .finance-table--full .finance-table__apply,
  .finance-table--full .finance-table__deal {
    margin-top: 0.9375rem; }
    .finance-table--order .finance-table__link .button,
    .finance-table--order .finance-table__apply .button,
    .finance-table--order .finance-table__deal .button,
    .finance-table--full .finance-table__link .button,
    .finance-table--full .finance-table__apply .button,
    .finance-table--full .finance-table__deal .button {
      margin-bottom: 0; }
  .finance-table--order .finance-table__disclaimer,
  .finance-table--full .finance-table__disclaimer {
    margin-top: 0.9375rem;
    font-size: 0.75rem;
    line-height: 1.6; }

.finance-no-results {
  margin-top: 0.9375rem; }

.finance-item {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-item {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-item {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-item::before, .finance-item::after {
    display: table;
    content: ' '; }
  .finance-item::after {
    clear: both; }
  .finance-item__label {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-item__label {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-item__label:last-child:not(:first-child) {
      float: right; }
  .finance-item__value {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    font-weight: 600;
    text-align: right; }
    @media print, screen and (min-width: 40em) {
      .finance-item__value {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-item__value:last-child:not(:first-child) {
      float: right; }

.finance-proposal-form .card {
  margin-top: 0.9375rem;
  margin-bottom: 0;
  background-color: #292929;
  border: none; }
  .finance-proposal-form .card .card-divider {
    margin-bottom: 0;
    padding: 0.625rem;
    background-color: #292929; }
    @media print, screen and (min-width: 40em) {
      .finance-proposal-form .card .card-divider {
        padding: 0.9375rem; } }
  .finance-proposal-form .card .card-section {
    padding: 0 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-proposal-form .card .card-section {
        padding: 0 0.9375rem 0.9375rem; } }

.finance-proposal-form .form__row {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-proposal-form .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-proposal-form .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-proposal-form .form__row::before, .finance-proposal-form .form__row::after {
    display: table;
    content: ' '; }
  .finance-proposal-form .form__row::after {
    clear: both; }

.finance-proposal-form .form__column {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-proposal-form .form__column {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .finance-proposal-form .form__column:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .finance-proposal-form .form__column {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-proposal-form .form__column {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .finance-proposal-form .form__column:last-child:not(:first-child) {
        float: right; } }

.finance-proposal-form .form__descripion {
  margin-bottom: 0.9375rem; }

.finance-proposal-form .form__disclaimer {
  margin-bottom: 0.9375rem;
  font-size: 0.875rem; }

.finance-proposal-form .form__link .button {
  margin-bottom: 0; }

.finance-proposal-plugin {
  margin-top: 0.9375rem; }

.review-summary__title {
  font-weight: 600;
  line-height: 1; }

.review-summary__average {
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1; }
  .review-summary__average span {
    font-size: 50%;
    font-weight: 600; }

.review-summary__total-responses {
  margin-top: 0.3125rem;
  font-size: 0.875rem; }

.review-summary__link a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #777777;
  color: #ffffff; }
  [data-whatinput='mouse'] .review-summary__link a {
    outline: 0; }
  .review-summary__link a:hover, .review-summary__link a:focus {
    background-color: #656565;
    color: #ffffff; }

.review-listing__header {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .review-listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .review-listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .review-listing__header::before, .review-listing__header::after {
    display: table;
    content: ' '; }
  .review-listing__header::after {
    clear: both; }
  .review-listing__header-first {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-first {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .review-listing__header-first:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-first {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review-listing__header-first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .review-listing__header-first:last-child:not(:first-child) {
          float: right; } }
  .review-listing__header-second {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-second {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .review-listing__header-second:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-second {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review-listing__header-second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .review-listing__header-second:last-child:not(:first-child) {
          float: right; } }

.review-listing__logo {
  margin-bottom: 0.625rem; }

@media print, screen and (min-width: 40em) {
  .review-listing__summary {
    float: right; } }

.review-listing__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.review-listing__list-item {
  margin-bottom: 0.9375rem; }

.review-listing__link a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #777777;
  color: #ffffff; }
  [data-whatinput='mouse'] .review-listing__link a {
    outline: 0; }
  .review-listing__link a:hover, .review-listing__link a:focus {
    background-color: #656565;
    color: #ffffff; }

.review {
  padding: 0.625rem;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .review {
      padding: 0.9375rem; } }
  .review__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .review__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .review__header::before, .review__header::after {
      display: table;
      content: ' '; }
    .review__header::after {
      clear: both; }
    .review__header-first {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .review__header-first {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .review__header-first:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .review__header-first {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review__header-first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .review__header-first:last-child:not(:first-child) {
            float: right; } }
    .review__header-second {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .review__header-second {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .review__header-second:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .review__header-second {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem;
          text-align: right; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review__header-second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .review__header-second:last-child:not(:first-child) {
            float: right; } }
  .review__date span {
    margin-right: 0.1875rem;
    font-size: 0.875rem; }
  .review__rating-label {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1; }
  .review__link {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .review__link {
        display: block; } }
    .review__link a {
      text-decoration: underline; }
      .review__link a:hover {
        text-decoration: none; }

.review-rating {
  position: relative;
  width: 10.0625rem;
  height: 1.6875rem;
  background-image: url("/core/img/feefo/stars.png");
  background-repeat: repeat-x;
  background-size: 2rem 3.4375rem;
  line-height: 1.6875rem;
  overflow: hidden; }
  .review-rating__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 1.6875rem;
    background-image: url("/core/img/feefo/stars.png");
    background-position: 0 -27px;
    background-repeat: repeat-x;
    background-size: 2rem 3.375rem;
    line-height: 1.6875rem; }

.accordion {
  margin-bottom: 0; }
  .accordion > li a.accordion-title {
    color: #ffffff;
    font-weight: 600;
    background-color: #545454; }
    .accordion > li a.accordion-title h2, .accordion > li a.accordion-title .custom-entry--featured .custom-entry__title, .custom-entry--featured .accordion > li a.accordion-title .custom-entry__title, .accordion > li a.accordion-title .offer--featured .offer__title, .offer--featured .accordion > li a.accordion-title .offer__title, .accordion > li a.accordion-title .offer--full .offer__form-title, .offer--full .accordion > li a.accordion-title .offer__form-title, .accordion > li a.accordion-title .order-progress__title, .accordion > li a.accordion-title .page--teaser .page__title, .page--teaser .accordion > li a.accordion-title .page__title, .accordion > li a.accordion-title .part--featured .part__title, .part--featured .accordion > li a.accordion-title .part__title, .accordion > li a.accordion-title .part--full .part__form-title, .part--full .accordion > li a.accordion-title .part__form-title, .accordion > li a.accordion-title .post--featured .post__title, .post--featured .accordion > li a.accordion-title .post__title, .accordion > li a.accordion-title .vehicle--general .vehicle__title, .vehicle--general .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .vehicle--latest .vehicle__title, .vehicle--latest .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .listing--vehicle-featured .listing__title, .listing--vehicle-featured .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .listing--vehicle-latest .listing__title, .listing--vehicle-latest .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .listing--vehicle-general .listing__title, .listing--vehicle-general .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .listing--vehicle-similar .listing__title, .listing--vehicle-similar .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .custom-entry--full .custom-entry__title, .custom-entry--full .accordion > li a.accordion-title .custom-entry__title, .accordion > li a.accordion-title .custom-entry--teaser .custom-entry__title, .custom-entry--teaser .accordion > li a.accordion-title .custom-entry__title, .accordion > li a.accordion-title .page--contact .page__form-title, .page--contact .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .page--default .page__form-title, .page--default .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .page--full-width .page__container .page__form-title, .page--full-width .page__container .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .vehicle--featured .vehicle__title, .vehicle--featured .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .vehicle--full .vehicle__finance-title, .vehicle--full .accordion > li a.accordion-title .vehicle__finance-title, .accordion > li a.accordion-title .vehicle--full .vehicle__telephone span a, .vehicle--full .vehicle__telephone span .accordion > li a.accordion-title a, .accordion > li a.accordion-title .vehicle--full .vehicle--similar .vehicle__title, .vehicle--full .vehicle--similar .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .vehicle--teaser .vehicle__title, .vehicle--teaser .accordion > li a.accordion-title .vehicle__title {
      margin-bottom: 0;
      font-size: inherit;
      line-height: inherit; }
  .accordion > li a.accordion-title:focus,
  .accordion > li a.accordion-title:hover,
  .accordion > li a.accordion-title[aria-selected='true'] {
    color: #ffffff;
    background-color: #777777; }
  .accordion > li a.accordion-title[aria-selected='true'] {
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .accordion > li a.accordion-title[aria-selected='true']::after {
        position: absolute;
        top: 100%;
        left: 1.875rem;
        margin-left: -0.5rem;
        content: '';
        display: block;
        width: 0;
        height: 0;
        -moz-transform: scale(0.9999);
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 8px solid #777777;
        z-index: 400; } }
  .accordion > li .accordion-content--no-padding {
    padding: 0; }
  .accordion--basic > li a.accordion-title {
    padding-top: 0.75rem;
    padding-right: 0;
    padding-bottom: 0.75rem;
    color: #ffffff;
    font-weight: 400;
    background-color: inherit; }
    .accordion--basic > li a.accordion-title:hover {
      color: #ffffff;
      background-color: inherit; }
    .accordion--basic > li a.accordion-title::before {
      right: inherit;
      left: 0; }
    .accordion--basic > li a.accordion-title span {
      font-weight: 600;
      float: right; }
  .accordion--basic > li a.accordion-title:focus,
  .accordion--basic > li a.accordion-title:hover,
  .accordion--basic > li a.accordion-title[aria-selected='true'] {
    color: #ffffff;
    background-color: inherit; }
  .accordion--basic > li a.accordion-title[aria-selected='true']::after {
    display: none; }
  .accordion--basic > li .accordion-content {
    padding-top: 0;
    padding-bottom: 0.75rem; }

.breadcrumbs {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' '; }
  .breadcrumbs::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .breadcrumbs {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .breadcrumbs:last-child:not(:first-child) {
    float: right; }
  .breadcrumbs, .breadcrumbs:last-child {
    float: none; }
  .breadcrumbs li {
    font-size: 0.9375rem;
    text-transform: capitalize; }
    .breadcrumbs li a {
      color: #ffffff;
      vertical-align: middle; }
      .breadcrumbs li a:hover {
        text-decoration: none; }
    .breadcrumbs li span {
      color: #ffffff;
      vertical-align: middle; }
    .breadcrumbs li:not(:last-child)::after {
      content: '\e5cc';
      margin: 0 0.375rem;
      color: #ffffff;
      opacity: .5;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: inherit;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle; }

button {
  font-family: inherit; }

.button {
  font-family: inherit;
  font-weight: 600;
  border-radius: 5px; }
  .button--alert {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #cc4b37;
    color: #ffffff; }
    [data-whatinput='mouse'] .button--alert {
      outline: 0; }
    .button--alert:hover, .button--alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button--filter {
    margin: 0;
    padding: 1.25rem;
    background-color: #777777;
    border-radius: 50%; }
    .button--filter i {
      color: #ffffff;
      font-size: 1.875rem;
      vertical-align: bottom; }
  .button--full-width, .button--no-margin {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #777777;
    color: #ffffff;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .button--full-width, [data-whatinput='mouse'] .button--no-margin {
      outline: 0; }
    .button--full-width:hover, .button--full-width:focus, .button--no-margin:hover, .button--no-margin:focus {
      background-color: #5f5f5f;
      color: #ffffff; }
  .button--search {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #119ae1;
    color: #ffffff;
    width: 100%;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .button--search {
      outline: 0; }
    .button--search:hover, .button--search:focus {
      background-color: #0e7bb4;
      color: #ffffff; }
  .button--reset {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #777777;
    color: #ffffff;
    float: right;
    margin-bottom: 0;
    padding: 0.375rem 0.75rem;
    font-weight: 600; }
    [data-whatinput='mouse'] .button--reset {
      outline: 0; }
    .button--reset:hover, .button--reset:focus {
      background-color: #5f5f5f;
      color: #ffffff; }
  .button--secondary-color {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #545454;
    color: #ffffff;
    font-weight: 600; }
    [data-whatinput='mouse'] .button--secondary-color {
      outline: 0; }
    .button--secondary-color:hover, .button--secondary-color:focus {
      background-color: #434343;
      color: #ffffff; }
  .button--small {
    padding: 0.625rem 0.75rem;
    font-size: 1rem; }
  .button--xsmall {
    padding: 0.375rem 0.5rem;
    font-size: 0.875rem; }
  .button--outline {
    background: none;
    border: 2px solid #777777;
    color: #ffffff; }
  .button--outline-white {
    background: none;
    border: 2px solid #ffffff; }
  .button--primary {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #119ae1;
    color: #ffffff; }
    [data-whatinput='mouse'] .button--primary {
      outline: 0; }
    .button--primary:hover, .button--primary:focus {
      background-color: #0e7bb4;
      color: #ffffff; }

.credits {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  text-align: center; }
  .credits::before, .credits::after {
    display: table;
    content: ' '; }
  .credits::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .credits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .credits:last-child:not(:first-child) {
    float: right; }
  .credits, .credits:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .credits > div {
      display: inline-block; } }
  @media print, screen and (min-width: 40em) {
    .credits__company {
      margin-left: 0.5rem; } }
  .credits__company a {
    color: #ffffff;
    font-weight: 600; }

.disclaimer {
  margin-bottom: 1.25rem;
  font-size: 0.75rem; }
  .disclaimer p {
    margin-bottom: 0.625rem; }
    .disclaimer p:last-of-type {
      margin: 0; }

.icon::before {
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle; }

.icon--arrow-back::before {
  font-family: 'Material Icons';
  content: '\e5c4'; }

.icon--arrow-forward::before {
  font-family: 'Material Icons';
  content: '\e5c8'; }

.icon--bike::before {
  font-family: 'Material Icons';
  content: '\e52f'; }

.icon--car::before {
  font-family: 'Material Icons';
  content: '\e531'; }

.icon--chevron-left::before {
  font-family: 'Material Icons';
  content: '\e5cb'; }

.icon--chevron-right::before {
  font-family: 'Material Icons';
  content: '\e5cc'; }

.icon--clock::before {
  font-family: 'Material Icons';
  content: '\e855'; }

.icon--finance::before {
  font-family: 'Material Icons';
  content: '\e877'; }

.icon--enlarge::before {
  font-family: 'Material Icons';
  content: '\e56b'; }

.icon--expand-less::before {
  font-family: 'Material Icons';
  content: '\e5ce'; }

.icon--expand-more::before {
  font-family: 'Material Icons';
  content: '\e5cf'; }

.icon--document::before {
  font-family: 'Material Icons';
  content: '\e873'; }

.icon--facebook::before {
  font-family: 'FontAwesome';
  content: "\f09a"; }

.icon--filter::before {
  font-family: 'Material Icons';
  content: '\e152'; }

.icon--google-plus::before {
  font-family: 'FontAwesome';
  content: "\f0d5"; }

.icon--image-library::before {
  font-family: 'Material Icons';
  content: '\e413'; }

.icon--info::before {
  font-family: 'Material Icons';
  vertical-align: top;
  content: '\e88f'; }

.icon--linkedin::before {
  font-family: 'FontAwesome';
  content: "\f0e1"; }

.icon--mail::before {
  font-family: 'Material Icons';
  content: '\e158'; }

.icon--menu::before {
  font-family: 'Material Icons';
  content: '\e5d2'; }

.icon--play::before {
  font-family: 'Material Icons';
  content: '\e039'; }

.icon--phone::before {
  font-family: 'Material Icons';
  content: '\e0cd'; }

.icon--mobile::before {
  font-family: 'Material Icons';
  content: '\e32c'; }

.icon--recent::before {
  font-family: 'Material Icons';
  content: '\e889'; }

.icon--share::before {
  font-family: 'Material Icons';
  content: '\e80d'; }

.icon--saved::before {
  font-family: 'Material Icons';
  content: '\e87d'; }

.icon--search::before {
  font-family: 'Material Icons';
  content: '\e8b6'; }

.icon--sms::before {
  font-family: 'Material Icons';
  content: '\e625'; }

.icon--transit::before {
  font-family: 'Material Icons';
  content: '\e535'; }

.icon--twitter::before {
  font-family: 'FontAwesome';
  content: "\f099"; }

.icon--print::before {
  font-family: 'Material Icons';
  content: '\e8ad'; }

.icon--video-library::before {
  font-family: 'Material Icons';
  content: '\e04a'; }

.icon--walk::before {
  font-family: 'Material Icons';
  content: '\e536'; }

.icon--whatsapp::before {
  font-family: 'FontAwesome';
  content: "\f232"; }

.listing__list {
  margin: 0;
  list-style: none; }

.listing--block {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  background-color: #1e1e1e; }
  .listing--block::before, .listing--block::after {
    display: table;
    content: ' '; }
  .listing--block::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--block {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--block:last-child:not(:first-child) {
    float: right; }
  .listing--block, .listing--block:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .listing--block {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }

.listing--block-footer {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 1.875rem; }
  .listing--block-footer::before, .listing--block-footer::after {
    display: table;
    content: ' '; }
  .listing--block-footer::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--block-footer {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--block-footer:last-child:not(:first-child) {
    float: right; }
  .listing--block-footer, .listing--block-footer:last-child {
    float: none; }
  .listing--block-footer .listing__list {
    text-align: center; }
    .listing--block-footer .listing__list-item {
      display: inline-block;
      margin: 0.3125rem; }

.listing--block-sidebar .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--block-sidebar .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--block-sidebar .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--block-sidebar .listing__list::before, .listing--block-sidebar .listing__list::after {
    display: table;
    content: ' '; }
  .listing--block-sidebar .listing__list::after {
    clear: both; }
  .listing--block-sidebar .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block-sidebar .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--block-sidebar .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--block-sidebar .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--block-sidebar .listing__list > li:last-child {
      float: left; }
  .listing--block-sidebar .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block-sidebar .listing__list-item {
        margin-bottom: 0.9375rem; } }

.listing--branch-footer .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--branch-footer .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--branch-footer .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--branch-footer .listing__list::before, .listing--branch-footer .listing__list::after {
    display: table;
    content: ' '; }
  .listing--branch-footer .listing__list::after {
    clear: both; }
  .listing--branch-footer .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-footer .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--branch-footer .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--branch-footer .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--branch-footer .listing__list > li:last-child {
      float: left; }
  .listing--branch-footer .listing__list-item {
    margin-bottom: 1.25rem; }

.listing--branch-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list, .listing--part-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--branch-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list, .listing--part-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--branch-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list, .listing--part-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--branch-teaser .listing__list::before, .listing--branch-teaser .listing__list::after, .listing--page-teaser .listing__list::before, .listing--page-teaser .listing__list::after, .listing--post-teaser .listing__list::before, .listing--post-teaser .listing__list::after, .listing--part-teaser .listing__list::before, .listing--part-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--branch-teaser .listing__list::after, .listing--page-teaser .listing__list::after, .listing--post-teaser .listing__list::after, .listing--part-teaser .listing__list::after {
    clear: both; }
  .listing--branch-teaser .listing__list > li, .listing--page-teaser .listing__list > li, .listing--post-teaser .listing__list > li, .listing--part-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-teaser .listing__list > li, .listing--page-teaser .listing__list > li, .listing--post-teaser .listing__list > li, .listing--part-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--branch-teaser .listing__list > li:nth-of-type(1n), .listing--page-teaser .listing__list > li:nth-of-type(1n), .listing--post-teaser .listing__list > li:nth-of-type(1n), .listing--part-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--branch-teaser .listing__list > li:nth-of-type(1n+1), .listing--page-teaser .listing__list > li:nth-of-type(1n+1), .listing--post-teaser .listing__list > li:nth-of-type(1n+1), .listing--part-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--branch-teaser .listing__list > li:last-child, .listing--page-teaser .listing__list > li:last-child, .listing--post-teaser .listing__list > li:last-child, .listing--part-teaser .listing__list > li:last-child {
      float: left; }
  .listing--branch-teaser .listing__list-item, .listing--page-teaser .listing__list-item, .listing--post-teaser .listing__list-item, .listing--part-teaser .listing__list-item {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-teaser .listing__list-item, .listing--page-teaser .listing__list-item, .listing--post-teaser .listing__list-item, .listing--part-teaser .listing__list-item {
        margin-bottom: 1.875rem; } }
    .listing--branch-teaser .listing__list-item:last-child, .listing--page-teaser .listing__list-item:last-child, .listing--post-teaser .listing__list-item:last-child, .listing--part-teaser .listing__list-item:last-child {
      margin-bottom: 0; }

@media print, screen and (min-width: 64em) {
  .listing--custom-entry-teaser .listing__list {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--custom-entry-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 64em) {
    .listing--custom-entry-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

@media print, screen and (min-width: 64em) {
    .listing--custom-entry-teaser .listing__list::before, .listing--custom-entry-teaser .listing__list::after {
      display: table;
      content: ' '; }
    .listing--custom-entry-teaser .listing__list::after {
      clear: both; } }

.listing--custom-entry-teaser .listing__list-item {
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .listing--custom-entry-teaser .listing__list-item {
      -webkit-flex: 0 0 33.33%;
          -ms-flex: 0 0 33.33%;
              flex: 0 0 33.33%;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-bottom: 1.875rem; } }
  @media screen and (max-width: 74.9375em) {
    .listing--custom-entry-teaser .listing__list-item:last-child {
      margin-bottom: 0; } }

.listing--offer-teaser #js-offer-list {
  position: relative; }

.listing--offer-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--offer-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--offer-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--offer-teaser .listing__list::before, .listing--offer-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--offer-teaser .listing__list::after {
    clear: both; }
  .listing--offer-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--offer-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--offer-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--offer-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--offer-teaser .listing__list > li:last-child {
      float: left; }
  .listing--offer-teaser .listing__list-item {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .listing--offer-teaser .listing__list-item {
        margin-bottom: 1.875rem; } }

.listing--new-vehicle-teaser .listing__header {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--new-vehicle-teaser .listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--new-vehicle-teaser .listing__header::before, .listing--new-vehicle-teaser .listing__header::after {
    display: table;
    content: ' '; }
  .listing--new-vehicle-teaser .listing__header::after {
    clear: both; }

.listing--new-vehicle-teaser .listing__title {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--new-vehicle-teaser .listing__title:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--new-vehicle-teaser .listing__title {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--new-vehicle-teaser .listing__title:last-child:not(:first-child) {
        float: right; } }

.listing--new-vehicle-teaser .listing__description {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__description {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--new-vehicle-teaser .listing__description:last-child:not(:first-child) {
    float: right; }

.listing--new-vehicle-teaser .listing__order {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--new-vehicle-teaser .listing__order:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--new-vehicle-teaser .listing__order {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--new-vehicle-teaser .listing__order:last-child:not(:first-child) {
        float: right; } }
  .listing--new-vehicle-teaser .listing__order .vehicle-order {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .listing--new-vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .listing--new-vehicle-teaser .listing__order .vehicle-order::before, .listing--new-vehicle-teaser .listing__order .vehicle-order::after {
      display: table;
      content: ' '; }
    .listing--new-vehicle-teaser .listing__order .vehicle-order::after {
      clear: both; }
  .listing--new-vehicle-teaser .listing__order .field-vehicle_search_order {
    width: 66.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__order .field-vehicle_search_order {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--new-vehicle-teaser .listing__order .field-vehicle_search_order:last-child:not(:first-child) {
      float: right; }
  .listing--new-vehicle-teaser .listing__order .field-vehicle_search_per_page {
    width: 33.33333%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__order .field-vehicle_search_per_page {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--new-vehicle-teaser .listing__order .field-vehicle_search_per_page:last-child:not(:first-child) {
      float: right; }

.listing--new-vehicle-teaser .listing__item-count {
  margin-bottom: 0.1875rem; }
  .listing--new-vehicle-teaser .listing__item-count span {
    font-weight: 600; }

.listing--new-vehicle-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--new-vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--new-vehicle-teaser .listing__list::before, .listing--new-vehicle-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--new-vehicle-teaser .listing__list::after {
    clear: both; }
  .listing--new-vehicle-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--new-vehicle-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--new-vehicle-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--new-vehicle-teaser .listing__list > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__list > li {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--new-vehicle-teaser .listing__list > li:nth-of-type(2n+1) {
        clear: both; }
      .listing--new-vehicle-teaser .listing__list > li:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .listing--new-vehicle-teaser .listing__list > li {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--new-vehicle-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--new-vehicle-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--new-vehicle-teaser .listing__list > li:nth-of-type(3n+1) {
        clear: both; }
      .listing--new-vehicle-teaser .listing__list > li:last-child {
        float: left; } }
  .listing--new-vehicle-teaser .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--new-vehicle-teaser .listing__list-item {
        margin-bottom: 0.9375rem; } }

.listing--new-vehicle-teaser .listing__footer {
  text-align: center; }

.listing--showroom-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--showroom-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--showroom-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--showroom-teaser .listing__list::before, .listing--showroom-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--showroom-teaser .listing__list::after {
    clear: both; }
  .listing--showroom-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--showroom-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--showroom-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--showroom-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--showroom-teaser .listing__list > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .listing--showroom-teaser .listing__list > li {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--showroom-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .listing--showroom-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--showroom-teaser .listing__list > li:nth-of-type(2n+1) {
        clear: both; }
      .listing--showroom-teaser .listing__list > li:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .listing--showroom-teaser .listing__list > li {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--showroom-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--showroom-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--showroom-teaser .listing__list > li:nth-of-type(3n+1) {
        clear: both; }
      .listing--showroom-teaser .listing__list > li:last-child {
        float: left; } }
  .listing--showroom-teaser .listing__list-item {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .listing--showroom-teaser .listing__list-item {
        margin-bottom: 1.875rem; } }

.listing--vehicle-compare {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-compare {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-compare::before, .listing--vehicle-compare::after {
    display: table;
    content: ' '; }
  .listing--vehicle-compare::after {
    clear: both; }
  .listing--vehicle-compare .listing__header {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__header {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-compare .listing__header:last-child:not(:first-child) {
      float: right; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .listing__title {
      float: left; } }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .listing__remove {
      float: right;
      margin-left: 0.625rem; } }
  .listing--vehicle-compare .listing__key {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__key {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        display: block; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__key {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--vehicle-compare .listing__key:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-compare .listing__key {
        width: 16.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__key {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--vehicle-compare .listing__key:last-child:not(:first-child) {
          float: right; } }
    .listing--vehicle-compare .listing__key ul {
      margin: 13.9375rem 0 0 0;
      list-style: none; }
      .listing--vehicle-compare .listing__key ul li {
        height: 3.75rem;
        padding: 1.0625rem 0 0 0.9375rem; }
        .listing--vehicle-compare .listing__key ul li:nth-child(odd) {
          background-color: #111111; }
  .listing--vehicle-compare .listing__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__content {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-compare .listing__content {
        width: 83.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
          float: right; } }

.listing--vehicle-recently-viewed .listing__title {
  display: none; }

.listing--vehicle-recently-viewed .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-recently-viewed .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-recently-viewed .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-recently-viewed .listing__list::before, .listing--vehicle-recently-viewed .listing__list::after {
    display: table;
    content: ' '; }
  .listing--vehicle-recently-viewed .listing__list::after {
    clear: both; }
  .listing--vehicle-recently-viewed .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-recently-viewed .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-recently-viewed .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--vehicle-recently-viewed .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--vehicle-recently-viewed .listing__list > li:last-child {
      float: left; }
  .listing--vehicle-recently-viewed .listing__list-item {
    margin-bottom: 0.25rem; }
    .listing--vehicle-recently-viewed .listing__list-item:last-child {
      margin-bottom: 0; }

.listing--vehicle-recently-viewed .listing__no-items {
  text-align: center; }

.listing--vehicle-featured, .listing--vehicle-latest {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .listing--vehicle-featured::before, .listing--vehicle-featured::after, .listing--vehicle-latest::before, .listing--vehicle-latest::after {
    display: table;
    content: ' '; }
  .listing--vehicle-featured::after, .listing--vehicle-latest::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-featured, .listing--vehicle-latest {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-featured:last-child:not(:first-child), .listing--vehicle-latest:last-child:not(:first-child) {
    float: right; }
  .listing--vehicle-featured, .listing--vehicle-featured:last-child, .listing--vehicle-latest, .listing--vehicle-latest:last-child {
    float: none; }
  .listing--vehicle-featured .listing__title, .listing--vehicle-latest .listing__title {
    margin-bottom: 1.875rem;
    line-height: 1;
    text-align: center; }

.listing--vehicle-general, .listing--vehicle-similar {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  .listing--vehicle-general::before, .listing--vehicle-general::after, .listing--vehicle-similar::before, .listing--vehicle-similar::after {
    display: table;
    content: ' '; }
  .listing--vehicle-general::after, .listing--vehicle-similar::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-general, .listing--vehicle-similar {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-general:last-child:not(:first-child), .listing--vehicle-similar:last-child:not(:first-child) {
    float: right; }
  .listing--vehicle-general, .listing--vehicle-general:last-child, .listing--vehicle-similar, .listing--vehicle-similar:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-general, .listing--vehicle-similar {
      padding-top: 0;
      padding-bottom: 3.125rem; } }
  .listing--vehicle-general .listing__title, .listing--vehicle-similar .listing__title {
    line-height: 1;
    text-align: center;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-general .listing__title, .listing--vehicle-similar .listing__title {
        margin-bottom: 1.875rem; } }

.listing--vehicle-featured-sidebar, .listing--vehicle-latest-sidebar {
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-featured-sidebar, .listing--vehicle-latest-sidebar {
      margin-bottom: 0.9375rem; } }
  .listing--vehicle-featured-sidebar .listing__title, .listing--vehicle-latest-sidebar .listing__title {
    display: none; }

.listing--vehicle-teaser .listing__header {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  background-color: #1e1e1e;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  border-radius: 5px;
  border: none;
  margin-bottom: 1.875rem;
  z-index: 1;
  position: relative; }
  .listing--vehicle-teaser .listing__header::before, .listing--vehicle-teaser .listing__header::after {
    display: table;
    content: ' '; }
  .listing--vehicle-teaser .listing__header::after {
    clear: both; }
  .listing--vehicle-teaser .listing__header-top {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
    .listing--vehicle-teaser .listing__header-top::before, .listing--vehicle-teaser .listing__header-top::after {
      display: table;
      content: ' '; }
    .listing--vehicle-teaser .listing__header-top::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__header-top {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  .listing--vehicle-teaser .listing__header-bottom {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .listing--vehicle-teaser .listing__header-bottom::before, .listing--vehicle-teaser .listing__header-bottom::after {
      display: table;
      content: ' '; }
    .listing--vehicle-teaser .listing__header-bottom::after {
      clear: both; }
    .listing--vehicle-teaser .listing__header-bottom:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__header-bottom {
        width: 100%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__header-bottom {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--vehicle-teaser .listing__header-bottom:last-child:not(:first-child) {
          float: right; } }

.listing--vehicle-teaser .listing__title {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__title:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__title {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__title:last-child:not(:first-child) {
        float: right; } }

.listing--vehicle-teaser .listing__description {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__description {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__description:last-child:not(:first-child) {
    float: right; }

.listing--vehicle-teaser .listing__order {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__order:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__order form {
      max-width: 300px;
      float: right; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__order {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__order:last-child:not(:first-child) {
        float: right; } }
  .listing--vehicle-teaser .listing__order .vehicle-order {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .listing--vehicle-teaser .listing__order .vehicle-order::before, .listing--vehicle-teaser .listing__order .vehicle-order::after {
      display: table;
      content: ' '; }
    .listing--vehicle-teaser .listing__order .vehicle-order::after {
      clear: both; }
  .listing--vehicle-teaser .listing__order .field-vehicle_search_order {
    width: 66.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .field-vehicle_search_order {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__order .field-vehicle_search_order:last-child:not(:first-child) {
      float: right; }
  .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page {
    width: 33.33333%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page:last-child:not(:first-child) {
      float: right; }

.listing--vehicle-teaser .listing__filter-results {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__filter-results {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__filter-results:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__filter-results {
      display: none; } }
  .listing--vehicle-teaser .listing__filter-results .button {
    width: 100%; }

.listing--vehicle-teaser .listing__filter-results--reduced {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__filter-results--reduced {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__filter-results--reduced:last-child:not(:first-child) {
    float: right; }

.listing--vehicle-teaser .listing__adjust-finance {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__adjust-finance {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__adjust-finance:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__adjust-finance {
      display: none; } }
  .listing--vehicle-teaser .listing__adjust-finance .button {
    width: 100%; }

.listing--vehicle-teaser .listing__finance-form {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0;
  display: none; }
  .listing--vehicle-teaser .listing__finance-form:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__finance-form {
      display: block; } }

.listing--vehicle-teaser .listing__item-count {
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__item-count {
      margin-bottom: 1.5625rem; } }
  .listing--vehicle-teaser .listing__item-count span {
    font-weight: 600; }

.listing--vehicle-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-teaser .listing__list::before, .listing--vehicle-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--vehicle-teaser .listing__list::after {
    clear: both; }
  .listing--vehicle-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--vehicle-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--vehicle-teaser .listing__list > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__list > li {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--vehicle-teaser .listing__list > li:nth-of-type(2n+1) {
        clear: both; }
      .listing--vehicle-teaser .listing__list > li:last-child {
        float: left; } }
  @media screen and (min-width: 75em) {
    .listing--vehicle-teaser .listing__list > li {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) {
      .listing--vehicle-teaser .listing__list > li:nth-of-type(1n) {
        clear: none; }
      .listing--vehicle-teaser .listing__list > li:nth-of-type(3n+1) {
        clear: both; }
      .listing--vehicle-teaser .listing__list > li:last-child {
        float: left; } }
  .listing--vehicle-teaser .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__list-item {
        margin-bottom: 1.875rem; } }

.listing--vehicle-teaser .listing__finance-example {
  margin-top: 1.875rem; }

.listing--vehicle-teaser .listing__footer {
  text-align: center; }

.listing--vehicle-teaser .listing__filter-results-icon {
  position: fixed;
  right: 0.625rem;
  bottom: 0.625rem;
  z-index: 99; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__filter-results-icon {
      display: none; } }

.listing--order-payment .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--order-payment .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--order-payment .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--order-payment .listing__list::before, .listing--order-payment .listing__list::after {
    display: table;
    content: ' '; }
  .listing--order-payment .listing__list::after {
    clear: both; }
  .listing--order-payment .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--order-payment .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--order-payment .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--order-payment .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--order-payment .listing__list > li:last-child {
      float: left; }
  .listing--order-payment .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--order-payment .listing__list-item {
        margin-bottom: 0.9375rem; } }
    @media screen and (min-width: 48em) {
      .listing--order-payment .listing__list-item {
        margin-bottom: 0; } }
    .listing--order-payment .listing__list-item:last-child {
      margin-bottom: 0; }

@media screen and (min-width: 48em) {
  .listing--order-payment-2 .listing__list > li {
    float: left;
    width: 50%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .listing--order-payment-2 .listing__list > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 48em) {
    .listing--order-payment-2 .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--order-payment-2 .listing__list > li:nth-of-type(2n+1) {
      clear: both; }
    .listing--order-payment-2 .listing__list > li:last-child {
      float: left; } }

.menu-toggle a {
  padding-left: 0.9375rem;
  color: #ffffff;
  text-align: center;
  line-height: 4.8125rem; }
  .menu-toggle a i,
  .menu-toggle a span {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
  .menu-toggle a i::before {
    font-size: 1.625rem; }

@media print, screen and (min-width: 64em) {
  .menu--main {
    margin: 0;
    list-style-type: none;
    display: table;
    width: 100%;
    table-layout: fixed;
    table-layout: auto; }
    .menu--main > li {
      display: table-cell;
      vertical-align: middle; }
      [data-whatinput='mouse'] .menu--main > li {
        outline: 0; }
    .menu--main > li > a {
      display: block;
      padding: 0.7rem 1rem;
      line-height: 1; }
    .menu--main input,
    .menu--main select,
    .menu--main a,
    .menu--main button {
      margin-bottom: 0; }
    .menu--main > li:first-child:last-child {
      width: 100%; } }

.menu--main li a {
  padding: 0.9375rem;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .menu--main li a {
      padding: 1.4375rem 0.9375rem;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .menu--main li a::before {
      content: '';
      background: #ffffff;
      opacity: .5;
      border-radius: 0.25rem;
      width: 0;
      height: 0.25rem;
      position: absolute;
      left: 50%;
      bottom: 0.625rem;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      transition: all .2s ease; } }
  .menu--main li a:hover::before {
    opacity: .6;
    width: 1.25rem; }

.menu--main .active > a {
  background: none; }
  .menu--main .active > a::before {
    left: 0;
    opacity: .3;
    bottom: 0;
    height: 100%;
    width: 0.3125rem;
    border-radius: 0; }
    @media print, screen and (min-width: 64em) {
      .menu--main .active > a::before {
        width: 1.25rem;
        height: 0.25rem;
        left: 50%;
        bottom: 0.625rem;
        border-radius: 0.25rem;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%); } }

.menu--main > li.active > a {
  padding-left: 0.75rem;
  border-left: 3px solid #ffffff;
  background: none; }
  @media print, screen and (min-width: 64em) {
    .menu--main > li.active > a {
      background: none;
      padding-bottom: 1.25rem;
      border-left: none;
      border-bottom: 3px solid #777777; } }

@media print, screen and (min-width: 64em) {
  .menu--main > li > ul {
    display: none; } }

@media print, screen and (min-width: 64em) {
  .menu--main .submenu li a {
    padding: 1.25rem 2.5rem;
    text-align: center; } }

.menu--fixed .menu-item {
  float: right;
  padding: 1.5rem 0.75rem; }
  @media print, screen and (min-width: 64em) {
    .menu--fixed .menu-item {
      padding: 0.375rem 0 0.375rem 2.5rem; } }
  .menu--fixed .menu-item a {
    padding: 0;
    font-size: 1.125rem;
    text-align: center;
    color: #ffffff; }
    @media print, screen and (min-width: 64em) {
      .menu--fixed .menu-item a {
        text-align: left;
        display: inline-block;
        font-size: 1.375rem; } }
    .menu--fixed .menu-item a i {
      margin-right: 0;
      font-size: 1.625rem; }
      @media print, screen and (min-width: 64em) {
        .menu--fixed .menu-item a i {
          margin-right: 0.1875rem;
          font-size: 1.125rem; } }
      .menu--fixed .menu-item a i + span {
        display: none; }
        @media print, screen and (min-width: 64em) {
          .menu--fixed .menu-item a i + span {
            display: inline-block; } }
  .menu--fixed .menu-item--menu-toggle {
    float: left; }
    @media print, screen and (min-width: 64em) {
      .menu--fixed .menu-item--menu-toggle {
        display: none; } }
    .menu--fixed .menu-item--menu-toggle a i + span {
      display: inline-block; }
  .menu--fixed .menu-item--save .saved-counter {
    display: none;
    margin-left: 0.1875rem;
    vertical-align: middle; }

.menu--footer {
  margin-bottom: 0.9375rem; }
  .menu--footer li {
    display: inline-block;
    vertical-align: inherit; }
    .menu--footer li a {
      color: #ffffff;
      padding: 0 0.25rem;
      font-weight: 600; }
    .menu--footer li.active > a {
      color: #ffffff;
      background: none; }
  .menu--footer > li > ul {
    display: none; }

.menu--share {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .menu--share > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu--share > li {
      outline: 0; }
  .menu--share > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu--share input,
  .menu--share select,
  .menu--share a,
  .menu--share button {
    margin-bottom: 0; }
  .menu--share > li:first-child:last-child {
    width: 100%; }
  .menu--share .menu-item {
    text-align: center; }
    .menu--share .menu-item a {
      padding: 0; }
      .menu--share .menu-item a .icon {
        width: 2.5rem;
        margin-right: 0;
        padding: 0.5rem 0;
        color: #ffffff;
        font-size: 1.25rem;
        text-align: center;
        background-color: #777777; }
        .menu--share .menu-item a .icon--facebook {
          background-color: #0b5998; }
        .menu--share .menu-item a .icon--google-plus {
          background-color: #DA4835; }
        .menu--share .menu-item a .icon--linkedin {
          background-color: #0077B5; }
        .menu--share .menu-item a .icon--twitter {
          background-color: #4099ff; }
        .menu--share .menu-item a .icon--whatsapp {
          background-color: #01E675; }
    @media print, screen and (min-width: 40em) {
      .menu--share .menu-item--sms, .menu--share .menu-item--whatsapp {
        display: none; } }

.menu--social li a {
  font-size: 2.125rem; }

.menu--vehicle-featured .menu-item a, .menu--vehicle-latest .menu-item a {
  padding: 0.125rem 0.3125rem;
  text-shadow: 0 1px rgba(0, 0, 0, 0.3); }
  .menu--vehicle-featured .menu-item a i, .menu--vehicle-latest .menu-item a i {
    color: #ffffff;
    font-size: 1.75rem;
    margin-right: 0; }
  .menu--vehicle-featured .menu-item a span, .menu--vehicle-latest .menu-item a span {
    display: none; }
  .menu--vehicle-featured .menu-item a i::before, .menu--vehicle-latest .menu-item a i::before {
    font-family: 'Material Icons';
    content: '\e87e'; }
  .menu--vehicle-featured .menu-item a.js-save-vehicle--saved i::before, .menu--vehicle-latest .menu-item a.js-save-vehicle--saved i::before {
    font-family: 'Material Icons';
    content: '\e87d'; }

.menu--vehicle-teaser .menu-item {
  display: inline-block;
  float: right; }
  .menu--vehicle-teaser .menu-item a {
    font-size: 1rem; }
    @media screen and (max-width: 39.9375em) {
      .menu--vehicle-teaser .menu-item a {
        padding: 0.125rem 0.3125rem; } }
    .menu--vehicle-teaser .menu-item a i {
      font-size: 1.25rem; }
      @media screen and (max-width: 39.9375em) {
        .menu--vehicle-teaser .menu-item a i {
          margin-right: 0;
          color: #ffffff;
          font-size: 1.75rem; } }

@media screen and (max-width: 39.9375em) {
  .menu--vehicle-teaser .menu-item--finance {
    display: none; } }

@media print, screen and (min-width: 40em) {
  .menu--vehicle-teaser .menu-item--finance a {
    padding: 0.625rem 1rem 0.5625rem 0; } }

@media screen and (max-width: 39.9375em) {
  .menu--vehicle-teaser .menu-item--share {
    display: none; } }

@media print, screen and (min-width: 40em) {
  .menu--vehicle-teaser .menu-item--share a {
    padding: 0.625rem 1rem 0.5625rem 0; } }

.menu--vehicle-teaser .menu-item--save a {
  text-shadow: 0 1px rgba(0, 0, 0, 0.3); }
  @media print, screen and (min-width: 40em) {
    .menu--vehicle-teaser .menu-item--save a {
      padding: 0.625rem 1rem 0.5625rem 0;
      text-shadow: none; } }
  @media screen and (max-width: 39.9375em) {
    .menu--vehicle-teaser .menu-item--save a span {
      display: none; } }
  .menu--vehicle-teaser .menu-item--save a i::before {
    font-family: 'Material Icons';
    content: '\e87e'; }
  .menu--vehicle-teaser .menu-item--save a.js-save-vehicle--saved i::before {
    font-family: 'Material Icons';
    content: '\e87d'; }

@media screen and (max-width: 39.9375em) {
  .menu--vehicle-teaser .menu-item--view-details {
    display: none; } }

.menu--vehicle-full, .menu--vehicle__payment {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.9375rem;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu--vehicle-full li, .menu--vehicle__payment li {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0; }
    .menu--vehicle-full li a, .menu--vehicle__payment li a {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
  @media print, screen and (min-width: 40em) {
    .menu--vehicle-full, .menu--vehicle__payment {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
      .menu--vehicle-full li, .menu--vehicle__payment li {
        -webkit-flex: 1 1 8em;
            -ms-flex: 1 1 8em;
                flex: 1 1 8em;
        max-width: 20em; } }

.menu--vehicle__payment {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .menu--vehicle__payment li {
      max-width: 20em; } }

.is-drilldown {
  background: #6b6b6b; }

.is-dropdown-submenu {
  border: none;
  z-index: 2;
  background: #6b6b6b;
  border-top: 3px solid #ffffff; }

.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
  padding-right: 1.125rem; }

.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23ffffff' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  right: 0.375rem; }

.is-drilldown-submenu {
  background: #6b6b6b; }

.is-drilldown-submenu-parent > a::after {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23ffffff' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  margin-top: -0.1875rem;
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }

.js-drilldown-back > a::before {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23ffffff' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.js-drilldown-back > a span {
  vertical-align: middle; }

.pagination {
  background-color: #1e1e1e;
  text-align: center;
  border-radius: 5px; }
  .pagination li {
    display: inline-block;
    margin-right: 0;
    padding: 0.5rem 0; }
    .pagination li a {
      padding: 0.3125rem 0.75rem 0.5rem;
      color: #ffffff;
      font-size: 1rem;
      line-height: 1;
      vertical-align: middle; }
      .pagination li a span {
        vertical-align: middle; }
      .pagination li a:focus, .pagination li a:hover {
        color: #ffffff;
        background-color: #777777; }
    .pagination li.active, .pagination li.current {
      padding: 0;
      background: none; }
      .pagination li.active a, .pagination li.current a {
        color: #ffffff;
        background-color: #777777; }
    .pagination li.first a span::before,
    .pagination li.previous a span::before,
    .pagination li.next a span::after,
    .pagination li.last a span::after {
      display: inline-block;
      font-family: 'Material Icons';
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      font-size: inherit;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle;
      cursor: pointer; }
    .pagination li.first a span::before {
      content: '\e5dc';
      margin-right: 0.125rem; }
    .pagination li.previous a span::before {
      content: '\e5cb';
      margin-right: 0.125rem; }
    .pagination li.next a span::after {
      content: '\e5cc';
      margin-left: 0.125rem; }
    .pagination li.last a span::after {
      content: '\e5dd';
      margin-left: 0.125rem; }
    .pagination li a:hover span::before,
    .pagination li a:hover span::after {
      color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .pagination--mobile {
      display: none; } }
  .pagination--mobile li.first a span, .pagination--mobile li.previous a span, .pagination--mobile li.next a span, .pagination--mobile li.last a span {
    color: transparent;
    font-size: 0px;
    line-height: 0px; }
    .pagination--mobile li.first a span::before, .pagination--mobile li.first a span::after, .pagination--mobile li.previous a span::before, .pagination--mobile li.previous a span::after, .pagination--mobile li.next a span::before, .pagination--mobile li.next a span::after, .pagination--mobile li.last a span::before, .pagination--mobile li.last a span::after {
      color: #ffffff;
      font-size: 1rem;
      line-height: 1; }
  .pagination--mobile li.first a:focus span::before, .pagination--mobile li.first a:focus span::after,
  .pagination--mobile li.first a:hover span::before,
  .pagination--mobile li.first a:hover span::after, .pagination--mobile li.previous a:focus span::before, .pagination--mobile li.previous a:focus span::after,
  .pagination--mobile li.previous a:hover span::before,
  .pagination--mobile li.previous a:hover span::after, .pagination--mobile li.next a:focus span::before, .pagination--mobile li.next a:focus span::after,
  .pagination--mobile li.next a:hover span::before,
  .pagination--mobile li.next a:hover span::after, .pagination--mobile li.last a:focus span::before, .pagination--mobile li.last a:focus span::after,
  .pagination--mobile li.last a:hover span::before,
  .pagination--mobile li.last a:hover span::after {
    color: #ffffff; }
  .pagination--desktop {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .pagination--desktop {
        display: block; } }

.tabs {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed;
  background-color: #1e1e1e; }
  .tabs > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .tabs > li {
      outline: 0; }
  .tabs > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .tabs input,
  .tabs select,
  .tabs a,
  .tabs button {
    margin-bottom: 0; }
  .tabs > li:first-child:last-child {
    width: 100%; }
  .tabs::before, .tabs::after {
    display: none; }
  .tabs > li {
    float: none; }
    .tabs > li.tabs-title > a {
      height: 3.625rem;
      line-height: 3.625rem;
      padding: 0;
      color: #ffffff;
      text-align: center;
      font-weight: 600;
      background-color: #545454;
      margin-right: 0.0625rem;
      border-radius: 5px; }
      .tabs > li.tabs-title > a h2, .tabs > li.tabs-title > a .custom-entry--featured .custom-entry__title, .custom-entry--featured .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .offer--featured .offer__title, .offer--featured .tabs > li.tabs-title > a .offer__title, .tabs > li.tabs-title > a .offer--full .offer__form-title, .offer--full .tabs > li.tabs-title > a .offer__form-title, .tabs > li.tabs-title > a .order-progress__title, .tabs > li.tabs-title > a .page--teaser .page__title, .page--teaser .tabs > li.tabs-title > a .page__title, .tabs > li.tabs-title > a .part--featured .part__title, .part--featured .tabs > li.tabs-title > a .part__title, .tabs > li.tabs-title > a .part--full .part__form-title, .part--full .tabs > li.tabs-title > a .part__form-title, .tabs > li.tabs-title > a .post--featured .post__title, .post--featured .tabs > li.tabs-title > a .post__title, .tabs > li.tabs-title > a .vehicle--general .vehicle__title, .vehicle--general .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--latest .vehicle__title, .vehicle--latest .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .listing--vehicle-featured .listing__title, .listing--vehicle-featured .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-latest .listing__title, .listing--vehicle-latest .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-general .listing__title, .listing--vehicle-general .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-similar .listing__title, .listing--vehicle-similar .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .custom-entry--full .custom-entry__title, .custom-entry--full .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .custom-entry--teaser .custom-entry__title, .custom-entry--teaser .tabs > li.tabs-title > a .custom-entry__title, .tabs > li.tabs-title > a .page--contact .page__form-title, .page--contact .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--default .page__form-title, .page--default .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--full-width .page__container .page__form-title, .page--full-width .page__container .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .vehicle--featured .vehicle__title, .vehicle--featured .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--full .vehicle__finance-title, .vehicle--full .tabs > li.tabs-title > a .vehicle__finance-title, .tabs > li.tabs-title > a .vehicle--full .vehicle__telephone span a, .vehicle--full .vehicle__telephone span .tabs > li.tabs-title > a a, .tabs > li.tabs-title > a .vehicle--full .vehicle--similar .vehicle__title, .vehicle--full .vehicle--similar .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--teaser .vehicle__title, .vehicle--teaser .tabs > li.tabs-title > a .vehicle__title {
        margin-bottom: 0;
        font-size: inherit;
        line-height: inherit; }
    .tabs > li.tabs-title > a:focus,
    .tabs > li.tabs-title > a:hover,
    .tabs > li.tabs-title > a[aria-selected='true'] {
      color: #ffffff;
      background-color: #777777; }
    .tabs > li.tabs-title.is-active {
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .tabs > li.tabs-title.is-active::after {
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -0.5rem;
          content: '';
          display: block;
          width: 0;
          height: 0;
          -moz-transform: scale(0.9999);
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 8px solid #777777;
          z-index: 400; } }
    .tabs > li:last-child.tabs-title > a {
      margin-right: 0; }

.vehicle__top .tabs-content .tabs-panel {
  padding: 0; }

.vehicle__middle .tabs-content .tabs-panel {
  padding: 1.25rem 0 0; }

.whatsapp-icon {
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  z-index: 999; }
  .whatsapp-icon a {
    padding: 1.125rem 0.75rem 1.25rem;
    color: #ffffff;
    display: block;
    background: #23b33a;
    background: linear-gradient(45deg, #23b33a 0%, #55d061 100%);
    border-radius: 50px;
    border: 3px solid white;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3); }
    .whatsapp-icon a span {
      display: none; }
    .whatsapp-icon a i {
      font-size: 2.5rem;
      display: block;
      line-height: 2rem;
      height: 1.875rem;
      margin-top: -0.625rem; }

.controller-vehicle.action-detail .whatsapp-icon {
  bottom: 4.6875rem; }

.block--default {
  position: relative;
  background-color: #111111; }
  .block--default:hover .block__primary-images img {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2); }
  .block--default .block__primary-images {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
    .block--default .block__primary-images img {
      transition: all .3s ease; }
  .block--default .block__details {
    padding: 0.625rem;
    margin-right: 1.25rem;
    text-align: left;
    position: absolute;
    bottom: 2.5rem;
    left: 0;
    background-color: #000000;
    color: #ffffff;
    border-radius: 0 5px 5px 0; }
    @media print, screen and (min-width: 40em) {
      .block--default .block__details {
        padding: 0.9375rem;
        margin-right: 3.125rem; } }
  .block--default .block__title {
    margin-bottom: 0; }
  .block--default .block__sub-title {
    margin-top: 0.1875rem;
    margin-bottom: 0; }
  .block--default .block__description {
    margin-top: 0.375rem;
    line-height: 1.6; }

.block--octane-finance-banner {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .block--octane-finance-banner .block__primary-image {
    position: relative; }
    .block--octane-finance-banner .block__primary-image img {
      width: 100%;
      -webkit-filter: grayscale(100%);
              filter: grayscale(100%); }
    .block--octane-finance-banner .block__primary-image:after {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      background: #16afad;
      opacity: .75;
      content: ""; }
  .block--octane-finance-banner .block__details {
    position: absolute;
    text-align: center;
    color: #ffffff;
    padding-left: 3.125rem;
    padding-right: 3.125rem; }
  .block--octane-finance-banner .block__secondary-image {
    margin-bottom: 1.875rem; }
  .block--octane-finance-banner .block__title {
    color: #ffffff; }
  .block--octane-finance-banner .block__sub-title {
    color: #ffffff;
    opacity: .75; }
  .block--octane-finance-banner .block__link {
    margin-top: 3.125rem; }

.block--sidebar {
  position: relative;
  background-color: #1e1e1e;
  padding: 1.25rem;
  border-radius: 5px;
  border: none; }
  .block--sidebar .block__primary-images {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
  .block--sidebar .block__icon {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0.375rem 0.5rem;
    background-color: #ffffff;
    line-height: 1; }
    .block--sidebar .block__icon i {
      font-size: 1.5rem;
      line-height: 1; }
  .block--sidebar .block__details {
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .block--sidebar .block__details {
        padding: 0.9375rem;
        text-align: center; } }
  .block--sidebar .block__title {
    margin-bottom: 0;
    font-weight: 600; }
  .block--sidebar .block__sub-title {
    margin-top: 0.1875rem;
    margin-bottom: 0; }
  .block--sidebar .block__description {
    margin-top: 0.375rem;
    line-height: 1.6; }

.custom-entry--full {
  text-align: center; }
  .custom-entry--full .custom-entry__primary-images {
    display: inline-block;
    margin-bottom: 1.25rem; }
  .custom-entry--full .custom-entry__rating {
    display: inline-block;
    position: relative;
    width: 10.0625rem;
    height: 1.6875rem;
    background-image: url("/dist/img/stars.png");
    background-repeat: repeat-x;
    background-size: 2rem 3.4375rem;
    line-height: 1.6875rem;
    overflow: hidden; }
    .custom-entry--full .custom-entry__rating-inner {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 1.6875rem;
      background-image: url("/dist/img/stars.png");
      background-position: 0 -27px;
      background-repeat: repeat-x;
      background-size: 2rem 3.375rem;
      line-height: 1.6875rem; }
  .custom-entry--full .custom-entry__description {
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.8; }
    .custom-entry--full .custom-entry__description a {
      font-weight: 600; }

.custom-entry--teaser {
  height: 100%;
  padding: 1.25rem;
  text-align: center;
  background-color: #1e1e1e;
  border-radius: 5px; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--teaser {
      padding: 2.5rem 1.875rem; } }
  .custom-entry--teaser .custom-entry__primary-images {
    display: inline-block;
    margin-bottom: 1.25rem; }
  .custom-entry--teaser .custom-entry__rating {
    display: inline-block;
    position: relative;
    width: 10.0625rem;
    height: 1.6875rem;
    background-image: url("/dist/img/stars.png");
    background-repeat: repeat-x;
    background-size: 2rem 3.4375rem;
    line-height: 1.6875rem;
    overflow: hidden; }
    .custom-entry--teaser .custom-entry__rating-inner {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 1.6875rem;
      background-image: url("/dist/img/stars.png");
      background-position: 0 -27px;
      background-repeat: repeat-x;
      background-size: 2rem 3.375rem;
      line-height: 1.6875rem; }
  .custom-entry--teaser .custom-entry__description {
    font-size: 1rem;
    line-height: 1.8; }
    .custom-entry--teaser .custom-entry__description a {
      font-weight: 600; }

.form--part-exchange {
  padding: 0.625rem;
  background-color: #1e1e1e;
  max-width: 37.5rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .form--part-exchange {
      padding: 0.9375rem; } }
  .form--part-exchange .form__fieldset {
    text-align: center;
    position: relative; }
  .form--part-exchange .form__legend {
    margin-bottom: 0.75rem;
    color: #ffffff;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1; }
  .form--part-exchange .form__label {
    margin-bottom: 1.3125rem;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.375rem; }
  .form--part-exchange .field-submit {
    position: absolute;
    bottom: 0.625rem;
    right: 0.625rem;
    margin-bottom: 0; }
    .form--part-exchange .field-submit .button {
      padding: 0.625rem;
      margin-bottom: 0;
      border: none;
      border-radius: 0.25rem; }
  .form--part-exchange .field-vehicle-registration {
    margin-bottom: 0; }
    .form--part-exchange .field-vehicle-registration .form-group__input {
      position: relative;
      width: 100%;
      height: 3.75rem;
      padding-left: 3.75rem;
      padding-right: 0.375rem;
      background-color: #ffffff;
      border: none;
      border-radius: 0.375rem;
      box-shadow: none; }
      .form--part-exchange .field-vehicle-registration .form-group__input::before {
        font-family: "67degrees";
        content: "\47";
        position: absolute;
        top: 0;
        left: 0;
        height: 3.75rem;
        width: 3.125rem;
        font-size: 1.875rem;
        line-height: 2.1;
        text-align: center;
        background-color: #545454;
        color: #ffffff;
        border-top-left-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        font-weight: normal;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle; }
      .form--part-exchange .field-vehicle-registration .form-group__input input {
        height: 3.75rem;
        margin-bottom: 0;
        font-size: 1.875rem;
        font-weight: 700;
        text-transform: uppercase;
        background-color: #ffffff;
        border: none;
        box-shadow: none; }
    .form--part-exchange .field-vehicle-registration .control-label {
      display: none; }

.form--sell-your-vehicle {
  padding-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .form--sell-your-vehicle {
      padding-bottom: 1.875rem; } }
  .form--sell-your-vehicle [type='text'],
  .form--sell-your-vehicle [type='password'],
  .form--sell-your-vehicle [type='date'],
  .form--sell-your-vehicle [type='datetime'],
  .form--sell-your-vehicle [type='datetime-local'],
  .form--sell-your-vehicle [type='month'],
  .form--sell-your-vehicle [type='week'],
  .form--sell-your-vehicle [type='email'],
  .form--sell-your-vehicle [type='number'],
  .form--sell-your-vehicle [type='search'],
  .form--sell-your-vehicle [type='tel'],
  .form--sell-your-vehicle [type='time'],
  .form--sell-your-vehicle [type='url'],
  .form--sell-your-vehicle [type='color'],
  .form--sell-your-vehicle select,
  .form--sell-your-vehicle textarea {
    margin-bottom: 0.9375rem; }
  .form--sell-your-vehicle label.error {
    height: 1.1875rem;
    margin-top: -0.9375rem;
    margin-bottom: 0.9375rem;
    color: #cc4b37;
    font-size: 0.8125rem;
    line-height: 1.1875rem; }
  .form--sell-your-vehicle .form__back a {
    display: block;
    margin-bottom: 0.375rem; }
    .form--sell-your-vehicle .form__back a i {
      font-size: 0.75rem; }
    .form--sell-your-vehicle .form__back a span {
      line-height: 1;
      vertical-align: middle; }
  .form--sell-your-vehicle .form__step0 .field-vehicle-registration {
    margin-bottom: 0.9375rem; }
    .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input {
      position: relative;
      width: 100%;
      height: 3.75rem;
      padding-left: 3.75rem;
      padding-right: 0.375rem;
      background-color: #ffae00;
      border: none;
      border-radius: 0.375rem;
      box-shadow: none; }
      .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input::before {
        font-family: "67degrees";
        content: "\47";
        position: absolute;
        top: 0;
        left: 0;
        height: 3.75rem;
        width: 3.125rem;
        font-size: 1.875rem;
        line-height: 2.1;
        text-align: center;
        background-color: #545454;
        color: #ffffff;
        border-top-left-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        font-weight: normal;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle; }
      .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input input {
        height: 3.625rem;
        font-size: 1.875rem;
        font-weight: 700;
        text-transform: uppercase;
        background-color: #ffae00;
        border: none;
        box-shadow: none; }
    .form--sell-your-vehicle .form__step0 .field-vehicle-registration .control-label {
      display: none; }

.order-state-summary {
  padding: 0.625rem;
  background-color: #292929; }
  @media print, screen and (min-width: 40em) {
    .order-state-summary {
      padding: 0.9375rem; } }
  .order-state-summary__vehicle-image {
    display: none;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .order-state-summary__vehicle-image {
        display: block; } }
    .order-state-summary__vehicle-image img {
      width: 100%; }
  .order-state-summary__vehicle-title {
    margin-bottom: 0.3125rem; }
  .order-state-summary__vehicle-price {
    font-size: 1.25rem; }
  .order-state-summary__vehicle-admin-fee {
    font-size: 75%; }
  .order-state-summary .order-state-summary-table {
    margin-top: 0.625rem;
    margin-bottom: 0;
    border-collapse: collapse;
    color: #000000; }
    @media print, screen and (min-width: 40em) {
      .order-state-summary .order-state-summary-table {
        margin-top: 0.9375rem; } }
    .order-state-summary .order-state-summary-table tbody {
      border-bottom: 1px solid #292929; }
    .order-state-summary .order-state-summary-table tr {
      border-bottom: 1px solid #292929;
      background-color: #ffffff; }
      .order-state-summary .order-state-summary-table tr:last-child {
        border-bottom: none; }
      .order-state-summary .order-state-summary-table tr.order-state-summary-table__total {
        font-weight: 600; }
      .order-state-summary .order-state-summary-table tr td {
        border: none; }
        .order-state-summary .order-state-summary-table tr td.order-state-summary-table__value {
          text-align: center;
          border-left: 1px solid #292929; }

.page--contact {
  overflow: hidden;
  position: relative; }
  .page--contact .page__map {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    overflow: hidden; }
    .page--contact .page__map #map {
      width: 100%;
      height: 18.75rem; }
      @media print, screen and (min-width: 40em) {
        .page--contact .page__map #map {
          height: 29rem; } }
  .page--contact .page__primary-images {
    padding-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__primary-images {
        padding-bottom: 1.875rem; } }
    .page--contact .page__primary-images ul {
      margin: 0;
      list-style: none; }
  .page--contact .page__inner-section {
    background-color: #1e1e1e;
    border: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding-top: 0.9375rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__inner-section {
        padding-top: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
  .page--contact .page__secondary-images {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__secondary-images {
        float: right;
        width: 20rem;
        margin-left: 1.25rem; } }
    .page--contact .page__secondary-images ul {
      margin: 0;
      list-style: none; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__videos {
      float: right;
      clear: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .page--contact .page__videos ul {
    list-style: none;
    margin-left: 0;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .page--contact .page__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .page--contact .page__videos ul::before, .page--contact .page__videos ul::after {
      display: table;
      content: ' '; }
    .page--contact .page__videos ul::after {
      clear: both; }
    .page--contact .page__videos ul > li {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page--contact .page__videos ul > li {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .page--contact .page__videos ul > li:nth-of-type(1n) {
        clear: none; }
      .page--contact .page__videos ul > li:nth-of-type(1n+1) {
        clear: both; }
      .page--contact .page__videos ul > li:last-child {
        float: left; }
    .page--contact .page__videos ul li {
      margin-bottom: 1.25rem; }
  .page--contact .page__description {
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__description {
        padding-bottom: 1.25rem; } }
    .page--contact .page__description p a:not(.button) {
      text-decoration: underline; }
      .page--contact .page__description p a:not(.button):hover {
        text-decoration: none; }
  .page--contact .page__files ul {
    margin-left: 0;
    list-style: none; }
    .page--contact .page__files ul li {
      display: inline-block;
      margin-right: 0.25rem; }
  .page--contact .page__directions {
    padding-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__directions {
        padding-bottom: 1.875rem; } }
  .page--contact .page__form {
    clear: right;
    padding-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__form {
        padding-bottom: 1.875rem; } }

.page--default {
  overflow: hidden;
  position: relative; }
  .page--default-no-image .page__inner-section {
    border-radius: 5px; }
  .page--default .page__primary-images {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    overflow: hidden;
    padding-bottom: 0; }
    .page--default .page__primary-images ul {
      margin: 0;
      list-style: none; }
  .page--default .page__inner-section {
    background-color: #1e1e1e;
    border: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding-top: 0.9375rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__inner-section {
        padding-top: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
  .page--default .page__secondary-images {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__secondary-images {
        float: right;
        width: 20rem;
        margin-left: 1.25rem; } }
    .page--default .page__secondary-images ul {
      margin: 0;
      list-style: none; }
  @media print, screen and (min-width: 40em) {
    .page--default .page__videos {
      float: right;
      clear: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .page--default .page__videos ul {
    list-style: none;
    margin-left: 0;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .page--default .page__videos ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .page--default .page__videos ul::before, .page--default .page__videos ul::after {
      display: table;
      content: ' '; }
    .page--default .page__videos ul::after {
      clear: both; }
    .page--default .page__videos ul > li {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page--default .page__videos ul > li {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .page--default .page__videos ul > li:nth-of-type(1n) {
        clear: none; }
      .page--default .page__videos ul > li:nth-of-type(1n+1) {
        clear: both; }
      .page--default .page__videos ul > li:last-child {
        float: left; }
    .page--default .page__videos ul li {
      margin-bottom: 1.25rem; }
  .page--default .page__description {
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__description {
        padding-bottom: 1.25rem; } }
    .page--default .page__description p:last-child {
      margin-bottom: 0; }
    .page--default .page__description p a:not(.button) {
      text-decoration: underline; }
      .page--default .page__description p a:not(.button):hover {
        text-decoration: none; }
  .page--default .page__files ul {
    margin-left: 0;
    list-style: none; }
    .page--default .page__files ul li {
      display: inline-block;
      margin-right: 0.25rem; }
  .page--default .page__children {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 1.25rem; }
    .page--default .page__children::before, .page--default .page__children::after {
      display: table;
      content: ' '; }
    .page--default .page__children::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__children {
        padding-bottom: 1.875rem; } }
  .page--default .page__form {
    clear: right;
    padding-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page--default .page__form {
        padding-bottom: 1.875rem; } }

.page--full-width {
  position: relative; }
  .page--full-width > .page__primary-images {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    overflow: hidden; }
    .page--full-width > .page__primary-images ul {
      margin: 0;
      list-style: none; }
  .page--full-width .page__container {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    background-color: #1e1e1e;
    padding: 0.9375rem;
    border: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    overflow: hidden; }
    .page--full-width .page__container::before, .page--full-width .page__container::after {
      display: table;
      content: ' '; }
    .page--full-width .page__container::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .page--full-width .page__container {
        padding: 1.875rem; } }
    .page--full-width .page__container > .page__secondary-images {
      margin-bottom: 1.25rem;
      overflow: hidden; }
      @media print, screen and (min-width: 40em) {
        .page--full-width .page__container > .page__secondary-images {
          float: right;
          width: 20rem;
          margin-left: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .page--full-width .page__container > .page__secondary-images {
          width: 25rem; } }
      .page--full-width .page__container > .page__secondary-images ul {
        margin: 0;
        list-style: none; }
    @media print, screen and (min-width: 40em) {
      .page--full-width .page__container > .page__videos {
        float: right;
        clear: right;
        width: 20rem;
        margin-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .page--full-width .page__container > .page__videos {
        width: 25rem; } }
    .page--full-width .page__container > .page__videos ul {
      list-style: none;
      margin-left: 0;
      margin-right: -0.625rem;
      margin-left: -0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page--full-width .page__container > .page__videos ul {
          margin-right: -0.9375rem;
          margin-left: -0.9375rem; } }
      @media print, screen and (min-width: 64em) {
        .page--full-width .page__container > .page__videos ul {
          margin-right: -0.9375rem;
          margin-left: -0.9375rem; } }
      .page--full-width .page__container > .page__videos ul::before, .page--full-width .page__container > .page__videos ul::after {
        display: table;
        content: ' '; }
      .page--full-width .page__container > .page__videos ul::after {
        clear: both; }
      .page--full-width .page__container > .page__videos ul > li {
        float: left;
        width: 100%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; }
        @media print, screen and (min-width: 40em) {
          .page--full-width .page__container > .page__videos ul > li {
            padding-right: 0.9375rem;
            padding-left: 0.9375rem; } }
        .page--full-width .page__container > .page__videos ul > li:nth-of-type(1n) {
          clear: none; }
        .page--full-width .page__container > .page__videos ul > li:nth-of-type(1n+1) {
          clear: both; }
        .page--full-width .page__container > .page__videos ul > li:last-child {
          float: left; }
      .page--full-width .page__container > .page__videos ul li {
        margin-bottom: 1.25rem; }
    .page--full-width .page__container > .page__description {
      padding-bottom: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page--full-width .page__container > .page__description {
          padding-bottom: 1.25rem; } }
      .page--full-width .page__container > .page__description p:last-child {
        margin-bottom: 0; }
      .page--full-width .page__container > .page__description p a:not(.button) {
        text-decoration: underline; }
        .page--full-width .page__container > .page__description p a:not(.button):hover {
          text-decoration: none; }
    .page--full-width .page__container > .page__files ul {
      margin-left: 0;
      list-style: none; }
      .page--full-width .page__container > .page__files ul li {
        display: inline-block;
        margin-right: 0.25rem; }
    .page--full-width .page__container .page__children {
      max-width: 100rem;
      margin-right: auto;
      margin-left: auto;
      padding-bottom: 1.25rem; }
      .page--full-width .page__container .page__children::before, .page--full-width .page__container .page__children::after {
        display: table;
        content: ' '; }
      .page--full-width .page__container .page__children::after {
        clear: both; }
      @media print, screen and (min-width: 40em) {
        .page--full-width .page__container .page__children {
          padding-bottom: 1.875rem; } }
    .page--full-width .page__container .page__form {
      clear: right;
      padding-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .page--full-width .page__container .page__form {
          padding-bottom: 1.875rem; } }

.page--home {
  position: relative; }
  .page--home .page__primary-images {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .page--home .page__primary-images::before, .page--home .page__primary-images::after {
      display: table;
      content: ' '; }
    .page--home .page__primary-images::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .page--home .page__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--home .page__primary-images:last-child:not(:first-child) {
      float: right; }
    .page--home .page__primary-images, .page--home .page__primary-images:last-child {
      float: none; }
    @media print, screen and (min-width: 64em) {
      .page--home .page__primary-images {
        max-width: 100rem;
        margin-right: auto;
        margin-left: auto;
        width: 100%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .page--home .page__primary-images::before, .page--home .page__primary-images::after {
          display: table;
          content: ' '; }
        .page--home .page__primary-images::after {
          clear: both; }
        .page--home .page__primary-images:last-child:not(:first-child) {
          float: right; }
        .page--home .page__primary-images, .page--home .page__primary-images:last-child {
          float: none; } }
    .page--home .page__primary-images-outer {
      background: #777777; }
      @media print, screen and (min-width: 64em) {
        .page--home .page__primary-images-outer {
          background: none; } }
    .page--home .page__primary-images ul {
      margin: 0;
      list-style: none; }
  .page--home .page__search {
    background-color: #111111; }
    .page--home .page__search .search {
      background-color: #000000;
      padding-top: 1.25rem;
      padding-bottom: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .page--home .page__search .search {
          padding-left: 3.75rem;
          padding-right: 3.75rem; } }
  .page--home .page__blocks {
    background-color: #111111; }
  .page--home .page__content {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    background-color: #1e1e1e;
    text-align: center;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem; }
    .page--home .page__content::before, .page--home .page__content::after {
      display: table;
      content: ' '; }
    .page--home .page__content::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .page--home .page__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--home .page__content:last-child:not(:first-child) {
      float: right; }
    .page--home .page__content, .page--home .page__content:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .page--home .page__content {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem; } }
  .page--home .page__title {
    text-align: center; }
  .page--home .page__description {
    text-align: center; }
    @media screen and (max-width: 39.9375em) {
      .page--home .page__description {
        position: relative;
        overflow: hidden; } }
    .page--home .page__description p:last-child {
      margin-bottom: 0; }
    .page--home .page__description p a:not(.button) {
      text-decoration: underline; }
      .page--home .page__description p a:not(.button):hover {
        text-decoration: none; }
    .page--home .page__description .expand {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 9.375rem;
      padding-top: 4.6875rem;
      font-weight: 600;
      background: linear-gradient(to top, black 0%, black 25%, rgba(0, 0, 0, 0) 100%); }
  .page--home .page__media {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 1.875rem; }
    .page--home .page__media::before, .page--home .page__media::after {
      display: table;
      content: ' '; }
    .page--home .page__media::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .page--home .page__media {
        padding-top: 3.125rem; } }
    .page--home .page__media .page__secondary-images {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .page--home .page__media .page__secondary-images {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .page--home .page__media .page__secondary-images:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .page--home .page__media .page__secondary-images {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem;
          margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page--home .page__media .page__secondary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .page--home .page__media .page__secondary-images:last-child:not(:first-child) {
            float: right; } }
      .page--home .page__media .page__secondary-images ul {
        margin: 0;
        list-style: none; }
    .page--home .page__media .page__videos {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page--home .page__media .page__videos {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .page--home .page__media .page__videos:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .page--home .page__media .page__videos {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page--home .page__media .page__videos {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .page--home .page__media .page__videos:last-child:not(:first-child) {
            float: right; } }
      .page--home .page__media .page__videos ul {
        list-style: none;
        margin-left: 0;
        margin-bottom: 0; }
    .page--home .page__media--image-only .page__secondary-images {
      margin-bottom: 0; }
      @media print, screen and (min-width: 64em) {
        .page--home .page__media--image-only .page__secondary-images {
          width: 100%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page--home .page__media--image-only .page__secondary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .page--home .page__media--image-only .page__secondary-images:last-child:not(:first-child) {
            float: right; }
          .page--home .page__media--image-only .page__secondary-images .secondary-image__image img {
            max-height: 31.25rem;
            object-fit: cover;
            width: 100%;
            object-position: center; } }
    @media print, screen and (min-width: 64em) {
      .page--home .page__media--video-only .page__videos {
        width: 100%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page--home .page__media--video-only .page__videos {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .page--home .page__media--video-only .page__videos:last-child:not(:first-child) {
          float: right; } }
  .page--home .page__files {
    text-align: center; }
    .page--home .page__files ul {
      margin-left: 0;
      list-style: none; }
      .page--home .page__files ul li {
        display: inline-block;
        margin: 0 0.125rem; }
  .page--home .page__featured-vehicles {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    background-color: #111111; }
    @media print, screen and (min-width: 40em) {
      .page--home .page__featured-vehicles {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem; } }

.search {
  margin-bottom: 0.625rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .search {
      margin-bottom: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .search {
      border-radius: 5px; } }
  .search__header {
    display: inline-block;
    width: 100%;
    position: relative;
    padding: 0.9375rem 0.9375rem 0.625rem;
    background-color: #545454;
    vertical-align: top; }
    .search__header legend {
      float: left;
      margin-top: 0.3125rem;
      margin-bottom: 0.5625rem;
      color: #ffffff;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 1; }
    .search__header .button {
      float: right; }
  .search .search__form {
    padding: 0.9375rem;
    background-color: #1e1e1e;
    border-top: none; }
  .search .help-block {
    margin-bottom: 0.625rem; }
  .search label.control-label {
    font-weight: 600; }
  .search select {
    font-size: 0.9375rem;
    font-weight: 400; }
  .search .form-group label:not(.control-label) {
    display: block;
    position: relative;
    padding: 0.25rem 0.5rem;
    color: #000000;
    font-size: 0.9375rem;
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    cursor: pointer; }
    .search .form-group label:not(.control-label) .label-count {
      margin-left: 0.1875rem;
      color: #999999; }
    .search .form-group label:not(.control-label) input {
      margin-bottom: 0; }
  .search .form-group div:not(.help-block):not(#price_type) {
    border-top: 1px solid #e6e6e6; }
    .search .form-group div:not(.help-block):not(#price_type) label {
      border-top: none; }
    .search .form-group div:not(.help-block):not(#price_type)#colours label::after {
      content: "";
      position: absolute;
      top: 0.625rem;
      right: 0.5rem;
      display: block;
      height: 1rem;
      width: 1rem;
      border-radius: 50%; }
    .search .form-group div:not(.help-block):not(#price_type)#colours label[for=colours-white]::after {
      border: 1px solid #e6e6e6; }
  .search .search__price {
    display: inline-block;
    width: 100%;
    vertical-align: top; }
    .search .search__price .field-price_type {
      float: left;
      width: 100%;
      margin-bottom: 0.375rem; }
      .search .search__price .field-price_type label {
        float: left;
        width: 50%;
        padding: 0;
        border: none; }
        .search .search__price .field-price_type label .label-value {
          display: block;
          padding: 0.1875rem 0;
          color: #000000;
          font-size: 0.9375rem;
          background-color: #ffffff;
          text-align: center;
          border: 1px solid #e6e6e6; }
      .search .search__price .field-price_type label:last-child {
        border-bottom: none; }
      .search .search__price .field-price_type input {
        display: none; }
      .search .search__price .field-price_type input:checked + .label-value {
        color: #ffffff;
        background-color: #545454;
        border: 1px solid transparent; }
        .search .search__price .field-price_type input:checked + .label-value::after {
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -0.3125rem;
          content: '';
          display: block;
          width: 0;
          height: 0;
          -moz-transform: scale(0.9999);
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid #545454; }
    .search .search__price .field-price_min,
    .search .search__price .field-price_monthly_min {
      float: left;
      width: 50%;
      padding-right: 0.1875rem; }
    .search .search__price .field-price_max,
    .search .search__price .field-price_monthly_max {
      float: left;
      width: 50%;
      padding-left: 0.1875rem; }
  .search .show-more {
    display: block;
    width: 100%;
    padding-top: 0.25rem;
    font-size: 0.9375rem;
    line-height: 1;
    text-align: center;
    cursor: pointer; }
  .search .field-submit {
    margin-bottom: 0; }
  .search--extended .search__form {
    border: none;
    border-color: transparent; }

.page--home .search {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 0;
  border-radius: 0; }
  .page--home .search::before, .page--home .search::after {
    display: table;
    content: ' '; }
  .page--home .search::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .search {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .search:last-child:not(:first-child) {
    float: right; }
  .page--home .search, .page--home .search:last-child {
    float: none; }
  .page--home .search .search__header {
    display: none; }
  .page--home .search .search__form {
    padding: 0;
    background: none; }
    @media print, screen and (min-width: 64em) {
      .page--home .search .search__form {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .help-block {
      margin-bottom: 0; } }
  .page--home .search label.control-label {
    display: none; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .page--home .search select {
      border-right: none; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .field-make_slug,
    .page--home .search .field-model_slug,
    .page--home .search .field-submit {
      float: left;
      width: 20%;
      padding-right: 0.46875rem;
      padding-left: 0.46875rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price {
      float: left;
      width: 40%;
      margin-right: 0;
      margin-left: 0;
      padding-right: 0.46875rem;
      padding-left: 0.46875rem; } }
  .page--home .search .search__price .field-price_type {
    margin-bottom: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      .page--home .search .search__price .field-price_type {
        padding-right: 0;
        padding-left: 0; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_min,
    .page--home .search .search__price .field-price_monthly_min {
      margin-bottom: 0;
      padding-left: 0;
      padding-right: 0; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_min,
    .page--home .search .search__price .field-price_monthly_min {
      padding-right: 0.46875rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_max,
    .page--home .search .search__price .field-price_monthly_max {
      margin-bottom: 0;
      padding-left: 0;
      padding-right: 0; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_max,
    .page--home .search .search__price .field-price_monthly_max {
      padding-left: 0.46875rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search--finance .field-make_slug,
    .page--home .search--finance .field-model_slug,
    .page--home .search--finance .field-submit {
      margin-top: 2.6875rem; } }

.page--home .search .search__price .field-price_type input:checked + .label-value {
  background: #777777; }

@media screen and (max-width: 63.9375em) {
  .toggler .search {
    margin-bottom: 0; } }

@media screen and (max-width: 63.9375em) {
  .toggler .search .search__header {
    padding-top: 3.125rem; } }

.sensi-spinner-overlay {
  background-color: rgba(29, 29, 29, 0.75); }

.sk-spinner-three-bounce div {
  background-color: #777777; }

.technical-data--full {
  display: inline-block;
  width: 100%; }
  .technical-data--full .technical-data__label {
    float: left;
    font-size: 1rem;
    line-height: 1; }
  .technical-data--full .technical-data__value {
    float: right;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1; }

.technical-data--promoted-outer {
  width: 100%; }

.technical-data--promoted .technical-data__icon {
  float: left;
  width: 2.5rem;
  font-size: 1.5rem;
  line-height: 3.125rem;
  text-align: left; }

.technical-data--promoted .technical-data__label {
  float: left;
  font-size: 1rem;
  line-height: 3.125rem; }

.technical-data--promoted .technical-data__value {
  float: right;
  font-size: 1rem;
  font-weight: 600;
  line-height: 3.125rem; }

.technical-data--summary {
  background-color: #1d1d1d;
  padding: 1rem;
  display: inline-block;
  width: 100%; }
  .technical-data--summary .technical-data__label {
    float: left;
    font-size: 1rem;
    line-height: 1; }
  .technical-data--summary .technical-data__value {
    float: right;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1; }

.technical-data--teaser .technical-data__icon {
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .technical-data--teaser .technical-data__icon {
      display: none; } }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__icon {
      font-size: 1.625rem;
      line-height: 1; } }

.technical-data--teaser .technical-data__label {
  display: inline-block; }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__label {
      display: block;
      margin-bottom: 0.1875rem;
      font-size: 0.875rem;
      line-height: 1;
      text-align: center; } }

.technical-data--teaser .technical-data__value {
  display: inline-block;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__value {
      display: block;
      font-size: 1rem;
      line-height: 1;
      text-align: center; } }

.technical-data--featured {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .technical-data--featured .technical-data__icon {
    display: none; }
  .technical-data--featured .technical-data__label {
    display: inline-block; }
  .technical-data--featured .technical-data__value {
    display: inline-block;
    font-weight: 600; }

.technical-data--compare .technical-data__label {
  font-size: 0.75rem;
  line-height: 1; }
  @media print, screen and (min-width: 40em) {
    .technical-data--compare .technical-data__label {
      display: none; } }

.technical-data--compare .technical-data__value {
  display: inline-block;
  width: 100%;
  font-weight: 600;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .technical-data--compare .technical-data__value {
      margin-top: 0.75rem; } }

.vehicle--featured {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding: 1.25rem;
  background-color: #1e1e1e;
  border-radius: 5px;
  border: none;
  overflow: hidden;
  position: relative;
  transition: all .3s ease; }
  .vehicle--featured::before, .vehicle--featured::after {
    display: table;
    content: ' '; }
  .vehicle--featured::after {
    clear: both; }
  .vehicle--featured:hover {
    -webkit-transform: scale(1.02);
        -ms-transform: scale(1.02);
            transform: scale(1.02); }
  .vehicle--featured .vehicle__primary-images {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
  .vehicle--featured .vehicle__menu {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem; }
  .vehicle--featured .vehicle__details {
    background-color: #1e1e1e;
    box-sizing: border-box;
    padding-top: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--featured .vehicle__details {
        padding-top: 0.9375rem; } }
  .vehicle--featured .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--featured .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1;
    text-align: center; }
    .vehicle--featured .vehicle__title .vehicle__make,
    .vehicle--featured .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--featured .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--featured .vehicle__technical-data-promoted {
    background: #111111;
    border-radius: 5px;
    padding: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--featured .vehicle__technical-data-promoted {
        margin-bottom: 0.9375rem; } }
    .vehicle--featured .vehicle__technical-data-promoted ul {
      list-style: none;
      margin: 0;
      padding: 0; }
  .vehicle--featured .vehicle__price {
    text-align: center; }
  .vehicle--featured .vehicle__finance {
    display: none; }

.vehicle--full .vehicle__back {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  position: relative; }
  .vehicle--full .vehicle__back::before, .vehicle--full .vehicle__back::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__back::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__back {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__back:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__back, .vehicle--full .vehicle__back:last-child {
    float: none; }
  .vehicle--full .vehicle__back a {
    display: inline-block;
    margin-bottom: 0.375rem;
    color: #ffffff; }
    .vehicle--full .vehicle__back a i {
      font-size: 0.75rem; }
    .vehicle--full .vehicle__back a span {
      line-height: 1;
      vertical-align: middle; }

.vehicle--full .vehicle__top {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .vehicle--full .vehicle__top::before, .vehicle--full .vehicle__top::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__top::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__top {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__top:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__top, .vehicle--full .vehicle__top:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__top {
      padding-top: 0; } }
  .vehicle--full .vehicle__top-inner {
    position: relative;
    max-width: 100%; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__top-inner {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[12];
            grid-template-columns: repeat(12, 1fr);
        gap: 1.875rem; } }

.vehicle--full .vehicle__media {
  position: relative;
  border-radius: 5px;
  overflow: hidden; }
  @media screen and (max-width: 63.9375em) {
    .vehicle--full .vehicle__media {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__media {
      grid-column: 1 / 6; } }

.vehicle--full .vehicle__primary-images {
  position: relative; }
  .vehicle--full .vehicle__primary-images ul {
    margin: 0;
    list-style: none; }
  .vehicle--full .vehicle__primary-images .vehicle__promo-text {
    display: block;
    position: absolute;
    top: 0.625rem;
    left: 0.625rem;
    margin-bottom: 0.625rem; }
  .vehicle--full .vehicle__primary-images .vehicle__save-button {
    position: absolute;
    top: 0.625rem;
    right: 0.625rem; }

.vehicle--full .vehicle__primary-images-thumbnails {
  display: none;
  margin-top: 0.125rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__primary-images-thumbnails {
      display: block; } }
  .vehicle--full .vehicle__primary-images-thumbnails ul {
    margin: 0;
    list-style: none; }

.vehicle--full .vehicle__details {
  padding: 0.9375rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #1e1e1e;
  border-radius: 5px;
  border: none; }
  @media screen and (max-width: 63.9375em) {
    .vehicle--full .vehicle__details {
      border-top-left-radius: 0;
      border-top-right-radius: 0; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__details {
      padding: 1.875rem;
      grid-column: 6/13; } }
  .vehicle--full .vehicle__details .vehicle__details-top {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 1.875rem; }
    .vehicle--full .vehicle__details .vehicle__details-top::before, .vehicle--full .vehicle__details .vehicle__details-top::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__details .vehicle__details-top::after {
      clear: both; }
    .vehicle--full .vehicle__details .vehicle__details-top:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__details .vehicle__details-top, .vehicle--full .vehicle__details .vehicle__details-top:last-child {
      float: none; }
  .vehicle--full .vehicle__details .vehicle__title {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    line-height: 1; }
    .vehicle--full .vehicle__details .vehicle__title:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__details .vehicle__title {
        width: 50%;
        float: left;
        padding-right: 0;
        padding-left: 0;
        margin-bottom: 0; }
        .vehicle--full .vehicle__details .vehicle__title:last-child:not(:first-child) {
          float: right; } }
    .vehicle--full .vehicle__details .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.5rem;
      font-weight: 400; }
  .vehicle--full .vehicle__details .vehicle__price {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .vehicle--full .vehicle__details .vehicle__price:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__details .vehicle__price {
        width: 50%;
        float: left;
        padding-right: 0;
        padding-left: 0;
        text-align: right; }
        .vehicle--full .vehicle__details .vehicle__price:last-child:not(:first-child) {
          float: right; } }

.vehicle--full .vehicle__technical-data-promoted {
  margin-bottom: 1.875rem; }
  .vehicle--full .vehicle__technical-data-promoted ul {
    margin: 0;
    list-style: none;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data-promoted ul {
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
        gap: 0.9375rem; } }
    .vehicle--full .vehicle__technical-data-promoted ul li {
      background: #111111;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      border-radius: 5px; }
      @media screen and (max-width: 39.9375em) {
        .vehicle--full .vehicle__technical-data-promoted ul li + li {
          margin-top: 0.3125rem; } }
  .vehicle--full .vehicle__technical-data-promoted--small {
    display: block;
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .vehicle--full .vehicle__technical-data-promoted--small:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-promoted--small {
        display: none; } }
    .vehicle--full .vehicle__technical-data-promoted--small ul {
      padding-right: 0; }
  .vehicle--full .vehicle__technical-data-promoted--large {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-promoted--large {
        display: block; } }

.vehicle--full .vehicle__technical-data-summary {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__technical-data-summary::before, .vehicle--full .vehicle__technical-data-summary::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__technical-data-summary::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data-summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__technical-data-summary:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__technical-data-summary, .vehicle--full .vehicle__technical-data-summary:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data-summary {
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__technical-data-summary > ul {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .vehicle--full .vehicle__technical-data-summary > ul::before, .vehicle--full .vehicle__technical-data-summary > ul::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__technical-data-summary > ul::after {
      clear: both; }
    .vehicle--full .vehicle__technical-data-summary > ul > li {
      float: left;
      width: 100%; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n+1) {
        clear: both; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
        float: left; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data-summary > ul > li {
        float: left;
        width: 50%; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(2n+1) {
          clear: both; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-summary > ul > li {
        float: left;
        width: 33.33333%; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(3n+1) {
          clear: both; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    .vehicle--full .vehicle__technical-data-summary > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__technical-data-summary > ul > li {
          padding: 0 0.9375rem 0.25rem; } }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-child(3n) {
          border-right: none; } }
  .vehicle--full .vehicle__technical-data-summary .show {
    text-align: center; }
    .vehicle--full .vehicle__technical-data-summary .show a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      padding: 0.75rem 0.875rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 5px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #777777;
      color: #ffffff;
      display: inline-block;
      margin-bottom: 0;
      padding: 0.625rem 0.75rem;
      font-size: 1rem;
      font-weight: 600; }
      [data-whatinput='mouse'] .vehicle--full .vehicle__technical-data-summary .show a {
        outline: 0; }
      .vehicle--full .vehicle__technical-data-summary .show a:hover, .vehicle--full .vehicle__technical-data-summary .show a:focus {
        background-color: #656565;
        color: #ffffff; }

.vehicle--full .vehicle__description {
  line-height: 1.8;
  padding: 1.875rem 0.9375rem;
  background-color: #1e1e1e;
  border-radius: 5px;
  border: none; }
  @media screen and (max-width: 39.9375em) {
    .vehicle--full .vehicle__description {
      position: relative;
      overflow: hidden; } }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__description {
      text-align: center; } }
  .vehicle--full .vehicle__description .expand {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7.8125rem;
    padding-top: 4.6875rem;
    font-weight: 600;
    background: linear-gradient(to top, #1e1e1e 0%, #1e1e1e 25%, rgba(30, 30, 30, 0) 100%);
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .vehicle--full .vehicle__description-outer {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-bottom: 1.875rem; }
    .vehicle--full .vehicle__description-outer::before, .vehicle--full .vehicle__description-outer::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__description-outer::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__description-outer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__description-outer:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__description-outer, .vehicle--full .vehicle__description-outer:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__description-outer {
        padding-bottom: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__description--with-video {
      max-width: 100rem;
      margin-right: auto;
      margin-left: auto;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .vehicle--full .vehicle__description--with-video::before, .vehicle--full .vehicle__description--with-video::after {
        display: table;
        content: ' '; }
      .vehicle--full .vehicle__description--with-video::after {
        clear: both; }
      .vehicle--full .vehicle__description--with-video .vehicle__description-copy {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
    @media print, screen and (min-width: 64em) and (min-width: 40em) {
      .vehicle--full .vehicle__description--with-video .vehicle__description-copy {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
        .vehicle--full .vehicle__description--with-video .vehicle__description-copy:last-child:not(:first-child) {
          float: right; }
      .vehicle--full .vehicle__description--with-video .vehicle__video {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
    @media print, screen and (min-width: 64em) and (min-width: 40em) {
      .vehicle--full .vehicle__description--with-video .vehicle__video {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
        .vehicle--full .vehicle__description--with-video .vehicle__video:last-child:not(:first-child) {
          float: right; } }

.vehicle--full .vehicle__part-exchange,
.vehicle--full .vehicle__finance {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__part-exchange::before, .vehicle--full .vehicle__part-exchange::after,
  .vehicle--full .vehicle__finance::before,
  .vehicle--full .vehicle__finance::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__part-exchange::after,
  .vehicle--full .vehicle__finance::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__part-exchange,
    .vehicle--full .vehicle__finance {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__part-exchange:last-child:not(:first-child),
  .vehicle--full .vehicle__finance:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__part-exchange, .vehicle--full .vehicle__part-exchange:last-child,
  .vehicle--full .vehicle__finance,
  .vehicle--full .vehicle__finance:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__part-exchange,
    .vehicle--full .vehicle__finance {
      padding-bottom: 1.875rem; } }
  .vehicle--full .vehicle__part-exchange-inner,
  .vehicle--full .vehicle__finance-inner {
    background-color: #1e1e1e;
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
    border-radius: 5px; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__part-exchange-inner,
      .vehicle--full .vehicle__finance-inner {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem; } }

.vehicle--full .vehicle__finance {
  text-align: center; }
  .vehicle--full .vehicle__finance-inner {
    padding: 0.9375rem;
    border-radius: 5px; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__finance-inner {
        padding: 1.875rem; } }

.vehicle--full .vehicle__telephone {
  text-align: center;
  color: #ffffff; }
  .vehicle--full .vehicle__telephone span {
    display: block; }
    .vehicle--full .vehicle__telephone span a {
      color: #ffffff; }

.vehicle--full .vehicle__secondary-images {
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__secondary-images-inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .vehicle--full .vehicle__secondary-images-inner::before, .vehicle--full .vehicle__secondary-images-inner::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__secondary-images-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__secondary-images-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__secondary-images-inner:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__secondary-images-inner, .vehicle--full .vehicle__secondary-images-inner:last-child {
      float: none; }
    .vehicle--full .vehicle__secondary-images-inner .slick-slider {
      border-radius: 5px;
      overflow: hidden; }
  .vehicle--full .vehicle__secondary-images ul {
    margin: 0;
    list-style: none; }

.vehicle--full .vehicle__content {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .vehicle--full .vehicle__content::before, .vehicle--full .vehicle__content::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__content::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__content:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__content, .vehicle--full .vehicle__content:last-child {
    float: none; }
  .vehicle--full .vehicle__content-outer {
    padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__content-inner {
    border-radius: 5px;
    border: none;
    background-color: #1e1e1e; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__content-inner {
        padding: 1.25rem; } }

.vehicle--full .vehicle__specification > ul,
.vehicle--full .vehicle__extras > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0;
  list-style-position: inside;
  color: #999999; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__specification > ul,
    .vehicle--full .vehicle__extras > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__specification > ul,
    .vehicle--full .vehicle__extras > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .vehicle--full .vehicle__specification > ul::before, .vehicle--full .vehicle__specification > ul::after,
  .vehicle--full .vehicle__extras > ul::before,
  .vehicle--full .vehicle__extras > ul::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__specification > ul::after,
  .vehicle--full .vehicle__extras > ul::after {
    clear: both; }
  .vehicle--full .vehicle__specification > ul > li,
  .vehicle--full .vehicle__extras > ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__specification > ul > li,
      .vehicle--full .vehicle__extras > ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n),
    .vehicle--full .vehicle__extras > ul > li:nth-of-type(1n) {
      clear: none; }
    .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n+1),
    .vehicle--full .vehicle__extras > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .vehicle--full .vehicle__specification > ul > li:last-child,
    .vehicle--full .vehicle__extras > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__specification > ul > li,
    .vehicle--full .vehicle__extras > ul > li {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .vehicle--full .vehicle__specification > ul > li,
    .vehicle--full .vehicle__extras > ul > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n),
      .vehicle--full .vehicle__extras > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(2n+1),
      .vehicle--full .vehicle__extras > ul > li:nth-of-type(2n+1) {
        clear: both; }
      .vehicle--full .vehicle__specification > ul > li:last-child,
      .vehicle--full .vehicle__extras > ul > li:last-child {
        float: left; } }
  @media screen and (min-width: 75em) {
    .vehicle--full .vehicle__specification > ul > li,
    .vehicle--full .vehicle__extras > ul > li {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .vehicle--full .vehicle__specification > ul > li,
    .vehicle--full .vehicle__extras > ul > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) {
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n),
      .vehicle--full .vehicle__extras > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(3n+1),
      .vehicle--full .vehicle__extras > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .vehicle--full .vehicle__specification > ul > li:last-child,
      .vehicle--full .vehicle__extras > ul > li:last-child {
        float: left; } }
  .vehicle--full .vehicle__specification > ul > li,
  .vehicle--full .vehicle__extras > ul > li {
    padding-bottom: 0.625rem;
    line-height: 1.5; }
    .vehicle--full .vehicle__specification > ul > li .specification,
    .vehicle--full .vehicle__specification > ul > li .extra,
    .vehicle--full .vehicle__extras > ul > li .specification,
    .vehicle--full .vehicle__extras > ul > li .extra {
      display: inline;
      color: #ffffff; }
      .vehicle--full .vehicle__specification > ul > li .specification__value,
      .vehicle--full .vehicle__specification > ul > li .extra__value,
      .vehicle--full .vehicle__extras > ul > li .specification__value,
      .vehicle--full .vehicle__extras > ul > li .extra__value {
        display: inline; }

.vehicle--full .vehicle__specification-button,
.vehicle--full .vehicle__extras-button {
  text-align: center; }
  .vehicle--full .vehicle__specification-button .button,
  .vehicle--full .vehicle__extras-button .button {
    display: none; }

.vehicle--full .vehicle__technical-data > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .vehicle--full .vehicle__technical-data > ul::before, .vehicle--full .vehicle__technical-data > ul::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__technical-data > ul::after {
    clear: both; }
  .vehicle--full .vehicle__technical-data > ul > li {
    float: left;
    width: 100%; }
    .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n) {
      clear: none; }
    .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .vehicle--full .vehicle__technical-data > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data > ul > li {
      float: left;
      width: 33.33333%; }
      .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .vehicle--full .vehicle__technical-data > ul > li:last-child {
        float: left; } }
  .vehicle--full .vehicle__technical-data > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .vehicle--full .vehicle__technical-data > ul > li .technical-data__label {
      display: inline-block; }
      .vehicle--full .vehicle__technical-data > ul > li .technical-data__label::after {
        content: ':'; }
    .vehicle--full .vehicle__technical-data > ul > li .technical-data__value {
      display: inline-block;
      float: right;
      font-weight: 600; }
    .vehicle--full .vehicle__technical-data > ul > li ul {
      margin-left: 0;
      list-style: none; }

.vehicle--full .vehicle__service-history-breakdown {
  width: 100%;
  overflow: hidden;
  overflow-x: auto;
  clear: both; }
  .vehicle--full .vehicle__service-history-breakdown table {
    min-width: 40rem; }

.vehicle--full .vehicle__documents ul,
.vehicle--full .vehicle__audio ul {
  margin-left: 0;
  list-style: none; }
  .vehicle--full .vehicle__documents ul li,
  .vehicle--full .vehicle__audio ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.vehicle--full .vehicle__bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background-color: #1e1e1e;
  z-index: 10; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom {
      display: none; } }

.vehicle--full .vehicle__bottom-inner {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  max-width: none;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .vehicle--full .vehicle__bottom-inner::before, .vehicle--full .vehicle__bottom-inner::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__bottom-inner::after {
    clear: both; }

.vehicle--full .vehicle__bottom-telephone {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  line-height: 1.2; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom-telephone {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__bottom-telephone:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__bottom-telephone span {
    display: block;
    font-weight: 600; }

.vehicle--full .vehicle__bottom-cta {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom-cta {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__bottom-cta:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__bottom-cta .button {
    width: 100%;
    margin: 0;
    padding: 0.5625rem 0;
    font-size: 1rem; }

.vehicle--full .vehicle--similar {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding: 1.25rem;
  background-color: #1e1e1e;
  border-radius: 5px;
  border: none;
  position: relative;
  transition: all .3s ease; }
  .vehicle--full .vehicle--similar::before, .vehicle--full .vehicle--similar::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle--similar::after {
    clear: both; }
  .vehicle--full .vehicle--similar:hover {
    -webkit-transform: scale(1.02);
        -ms-transform: scale(1.02);
            transform: scale(1.02); }
  .vehicle--full .vehicle--similar .vehicle__primary-images {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
  .vehicle--full .vehicle--similar .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--full .vehicle--similar .vehicle__details {
    background-color: #1e1e1e;
    box-sizing: border-box;
    border: none;
    padding: 0;
    padding-top: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle--similar .vehicle__details {
        padding: 0;
        padding-top: 0.9375rem; } }
  .vehicle--full .vehicle--similar .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--full .vehicle--similar .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1;
    text-align: center;
    width: 100%; }
    .vehicle--full .vehicle--similar .vehicle__title .vehicle__make,
    .vehicle--full .vehicle--similar .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--full .vehicle--similar .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--full .vehicle--similar .vehicle__technical-data-promoted {
    background: #111111;
    border-radius: 5px;
    padding: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle--similar .vehicle__technical-data-promoted {
        margin-bottom: 0.9375rem; } }
    .vehicle--full .vehicle--similar .vehicle__technical-data-promoted ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: block; }
      .vehicle--full .vehicle--similar .vehicle__technical-data-promoted ul li {
        background: none; }
  .vehicle--full .vehicle--similar .vehicle__price {
    text-align: center;
    width: 100%; }

.vehicle--teaser {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
  padding: 1.25rem;
  background-color: #1e1e1e;
  border-radius: 5px;
  border: none;
  overflow: hidden;
  position: relative;
  transition: all .3s ease; }
  .vehicle--teaser::before, .vehicle--teaser::after {
    display: table;
    content: ' '; }
  .vehicle--teaser::after {
    clear: both; }
  .vehicle--teaser:hover {
    -webkit-transform: scale(1.02);
        -ms-transform: scale(1.02);
            transform: scale(1.02); }
  .vehicle--teaser .vehicle__primary-images {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
  .vehicle--teaser .vehicle__menu {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem; }
  .vehicle--teaser .vehicle__details {
    background-color: #1e1e1e;
    box-sizing: border-box;
    padding-top: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__details {
        padding-top: 0.9375rem; } }
  .vehicle--teaser .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--teaser .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1;
    text-align: center; }
    .vehicle--teaser .vehicle__title .vehicle__make,
    .vehicle--teaser .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--teaser .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--teaser .vehicle__technical-data-promoted {
    background: #111111;
    border-radius: 5px;
    padding: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__technical-data-promoted {
        margin-bottom: 0.9375rem; } }
    .vehicle--teaser .vehicle__technical-data-promoted ul {
      list-style: none;
      margin: 0;
      padding: 0; }
  .vehicle--teaser .vehicle__price {
    text-align: center; }
  .vehicle--teaser .vehicle__finance {
    display: none; }

.vehicle__media-count {
  position: absolute;
  bottom: 0;
  left: 0; }
  .vehicle__media-count > ul {
    margin-left: 0;
    margin-bottom: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    font-size: 1rem;
    line-height: 1;
    background-color: #111111; }
    .vehicle__media-count > ul li {
      display: inline-block;
      padding: 0.375rem 0.125rem; }
      .vehicle__media-count > ul li i {
        font-size: 1.25rem;
        line-height: 1; }

.vehicle__promo-text {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem; }
  .vehicle__promo-text span {
    padding: 0.25rem 0.5rem;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    background-color: #777777;
    border-radius: 0.1875rem; }

.l-breadcrumbs {
  display: none;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  background-color: #111111; }
  @media print, screen and (min-width: 40em) {
    .l-breadcrumbs {
      display: block; } }

.l-footer {
  background-color: #000000;
  color: #ffffff; }
  .l-footer__first {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    text-align: center;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem; }
    .l-footer__first::before, .l-footer__first::after {
      display: table;
      content: ' '; }
    .l-footer__first::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .l-footer__first {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-footer__first:last-child:not(:first-child) {
      float: right; }
    .l-footer__first, .l-footer__first:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .l-footer__first {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem; } }
  .l-footer__second {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    background: #1d1d1d; }

.l-header__inner {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  .l-header__inner::before, .l-header__inner::after {
    display: table;
    content: ' '; }
  .l-header__inner::after {
    clear: both; }
  @media print, screen and (min-width: 64em) {
    .l-header__inner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }

.l-header__first {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .l-header__first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-header__first:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-header__first {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      text-align: left; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-header__first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-header__first:last-child:not(:first-child) {
        float: right; } }

.l-header__second {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .l-header__second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-header__second:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-header__second {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-header__second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-header__second:last-child:not(:first-child) {
        float: right; } }

.not-front .l-header__first {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .not-front .l-header__first {
      display: block; } }

.l-main {
  position: relative; }
  .l-main--aside, .l-main--aside-desktop, .l-main--full-width {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    background-color: #111111; }
    @media print, screen and (min-width: 40em) {
      .l-main--aside, .l-main--aside-desktop, .l-main--full-width {
        padding-top: 0;
        padding-bottom: 3.125rem; } }
  .l-main--aside .l-main__inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
    .l-main--aside .l-main__inner::before, .l-main--aside .l-main__inner::after {
      display: table;
      content: ' '; }
    .l-main--aside .l-main__inner::after {
      clear: both; }
  .l-main--aside .l-main__aside {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .l-main--aside .l-main__aside {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-main--aside .l-main__aside:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .l-main--aside .l-main__aside {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        position: relative;
        left: -75%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside .l-main__aside {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-main--aside .l-main__aside:last-child:not(:first-child) {
          float: right; } }
  .l-main--aside .l-main__section {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .l-main--aside .l-main__section {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-main--aside .l-main__section:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .l-main--aside .l-main__section {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        position: relative;
        left: 25%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-main--aside .l-main__section:last-child:not(:first-child) {
          float: right; } }
  .l-main--aside-desktop .l-main__inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
    .l-main--aside-desktop .l-main__inner::before, .l-main--aside-desktop .l-main__inner::after {
      display: table;
      content: ' '; }
    .l-main--aside-desktop .l-main__inner::after {
      clear: both; }
  .l-main--aside-desktop .l-main__aside {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .l-main--aside-desktop .l-main__aside {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        position: relative;
        left: -75%;
        display: block; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside-desktop .l-main__aside {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-main--aside-desktop .l-main__aside:last-child:not(:first-child) {
          float: right; } }
  .l-main--aside-desktop .l-main__section {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .l-main--aside-desktop .l-main__section {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-main--aside-desktop .l-main__section:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .l-main--aside-desktop .l-main__section {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        position: relative;
        left: 25%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside-desktop .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-main--aside-desktop .l-main__section:last-child:not(:first-child) {
          float: right; } }
  .l-main--full-width .l-main__inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .l-main--full-width .l-main__inner::before, .l-main--full-width .l-main__inner::after {
      display: table;
      content: ' '; }
    .l-main--full-width .l-main__inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .l-main--full-width .l-main__inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-main--full-width .l-main__inner:last-child:not(:first-child) {
      float: right; }
    .l-main--full-width .l-main__inner, .l-main--full-width .l-main__inner:last-child {
      float: none; }

@media print, screen and (min-width: 40em) {
  .action-compare .l-main,
  .action-error .l-main,
  .controller-sitemap .l-main,
  .controller-static-page .l-main,
  .controller-custom-entry .l-main {
    padding-top: 3.125rem; } }

.action-compare .l-main::before,
.action-error .l-main::before,
.controller-sitemap .l-main::before,
.controller-static-page .l-main::before,
.controller-custom-entry .l-main::before {
  display: none; }

.l-nav {
  background: #000000; }
  .l-nav__inner {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .l-nav__inner::before, .l-nav__inner::after {
      display: table;
      content: ' '; }
    .l-nav__inner::after {
      clear: both; }
    .l-nav__inner:last-child:not(:first-child) {
      float: right; }
    .l-nav__inner, .l-nav__inner:last-child {
      float: none; }
    @media print, screen and (min-width: 64em) {
      .l-nav__inner {
        max-width: 100rem;
        margin-right: auto;
        margin-left: auto;
        width: 100%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; }
        .l-nav__inner::before, .l-nav__inner::after {
          display: table;
          content: ' '; }
        .l-nav__inner::after {
          clear: both; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-nav__inner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-nav__inner:last-child:not(:first-child) {
          float: right; }
        .l-nav__inner, .l-nav__inner:last-child {
          float: none; } }

.extras-price {
  display: inline-block;
  line-height: 1; }
  .extras-price__value {
    font-weight: 600; }
  .extras-price--teaser {
    margin-top: 0.1875rem;
    font-size: 1.125rem; }
    .extras-price--teaser .extras-price__label {
      font-size: 65%; }
  .extras-price--full {
    margin-bottom: 0.9375rem;
    width: 100%;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 1.75rem;
    text-align: center;
    border-top: 1px solid #292929; }
    .extras-price--full .extras-price__new,
    .extras-price--full .extras-price__extras {
      float: left;
      width: 50%;
      margin-bottom: 0.625rem;
      line-height: 1; }
    .extras-price--full .extras-price__extras {
      border-left: 1px solid #292929; }
    .extras-price--full .extras-price__label {
      display: block;
      font-size: 55%; }
    .extras-price--full .extras-price__link .button {
      margin-bottom: 0;
      padding: 0.375rem 0.5rem;
      font-size: 0.875rem; }

.extras {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .extras {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .extras {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .extras::before, .extras::after {
    display: table;
    content: ' '; }
  .extras::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .extras {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .extras__list {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .extras__list {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .extras__list:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .extras__list {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .extras__list {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .extras__list:last-child:not(:first-child) {
          float: right; } }
  .extras__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 1.25rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .extras__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .extras__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .extras__summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .extras__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .extras__summary:last-child:not(:first-child) {
          float: right; } }
    .extras__summary-inner {
      background-color: #ececec;
      padding: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .extras__summary-inner {
          padding: 1.875rem; } }
    .extras__summary-amount {
      font-size: 2.5rem;
      line-height: 1; }
    .extras__summary-extras {
      margin-top: 0.9375rem;
      padding-top: 0.9375rem;
      font-size: 2.5rem;
      line-height: 1; }
    .extras__summary-label {
      display: block;
      line-height: 1;
      font-size: 1.125rem; }
    .extras__summary-value {
      display: block;
      font-weight: 600;
      line-height: 1; }

.slick-slider .slick-slide:hover, .slick-slider .slick-slide:focus {
  outline: none; }

.slick-slider .slick-prev,
.slick-slider .slick-next {
  position: absolute;
  display: block;
  height: 2.5rem;
  width: 2.5rem;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 9; }
  .slick-slider .slick-prev:hover, .slick-slider .slick-prev:focus,
  .slick-slider .slick-next:hover,
  .slick-slider .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
  .slick-slider .slick-prev.slick-disabled:before,
  .slick-slider .slick-next.slick-disabled:before {
    opacity: 0.5;
    cursor: default; }
  .slick-slider .slick-prev:before,
  .slick-slider .slick-next:before {
    font-family: 'Material Icons';
    font-size: 2.5rem;
    line-height: 1;
    background-color: #1e1e1e;
    color: #ffffff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-slider .slick-prev {
  left: 0; }
  .slick-slider .slick-prev:before {
    content: '\e5cb'; }

.slick-slider .slick-next {
  right: 0; }
  .slick-slider .slick-next:before {
    content: '\e5cc'; }

.slick-slider.slick-dotted {
  padding-bottom: 1.25rem; }

.slick-slider .slick-dots {
  position: absolute;
  bottom: -0.4375rem;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-slider .slick-dots li {
    position: relative;
    display: inline-block;
    height: 0.1875rem;
    width: 1.25rem;
    margin: 0 0.125rem;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .slick-slider .slick-dots li {
        width: 1.875rem;
        margin: 0 0.25rem; } }
    @media print, screen and (min-width: 64em) {
      .slick-slider .slick-dots li {
        width: 2.5rem;
        margin: 0 0.375rem; } }
    .slick-slider .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      width: 100%;
      height: 0.1875rem;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      cursor: pointer;
      background-color: #999999; }
      .slick-slider .slick-dots li button:hover, .slick-slider .slick-dots li button:focus {
        outline: none;
        opacity: 1; }
    .slick-slider .slick-dots li.slick-active button {
      background: #777777; }

.listing--block .slick-slider,
.listing--vehicle-featured .slick-slider,
.listing--vehicle-latest .slick-slider,
.listing--vehicle-featured-sidebar .slick-slider,
.listing--vehicle-latest-sidebar .slick-slider,
.listing--vehicle-similar .slick-slider {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--block .slick-slider,
    .listing--vehicle-featured .slick-slider,
    .listing--vehicle-latest .slick-slider,
    .listing--vehicle-featured-sidebar .slick-slider,
    .listing--vehicle-latest-sidebar .slick-slider,
    .listing--vehicle-similar .slick-slider {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .listing--block .slick-slider .slick-slide,
  .listing--vehicle-featured .slick-slider .slick-slide,
  .listing--vehicle-latest .slick-slider .slick-slide,
  .listing--vehicle-featured-sidebar .slick-slider .slick-slide,
  .listing--vehicle-latest-sidebar .slick-slider .slick-slide,
  .listing--vehicle-similar .slick-slider .slick-slide {
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-slide,
      .listing--vehicle-featured .slick-slider .slick-slide,
      .listing--vehicle-latest .slick-slider .slick-slide,
      .listing--vehicle-featured-sidebar .slick-slider .slick-slide,
      .listing--vehicle-latest-sidebar .slick-slider .slick-slide,
      .listing--vehicle-similar .slick-slider .slick-slide {
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .listing--block .slick-slider .slick-prev,
  .listing--block .slick-slider .slick-next,
  .listing--vehicle-featured .slick-slider .slick-prev,
  .listing--vehicle-featured .slick-slider .slick-next,
  .listing--vehicle-latest .slick-slider .slick-prev,
  .listing--vehicle-latest .slick-slider .slick-next,
  .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
  .listing--vehicle-featured-sidebar .slick-slider .slick-next,
  .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
  .listing--vehicle-latest-sidebar .slick-slider .slick-next,
  .listing--vehicle-similar .slick-slider .slick-prev,
  .listing--vehicle-similar .slick-slider .slick-next {
    top: 3.75rem; }
  .listing--block .slick-slider .slick-prev,
  .listing--vehicle-featured .slick-slider .slick-prev,
  .listing--vehicle-latest .slick-slider .slick-prev,
  .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
  .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
  .listing--vehicle-similar .slick-slider .slick-prev {
    left: inherit;
    right: 3.1875rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-prev,
      .listing--vehicle-featured .slick-slider .slick-prev,
      .listing--vehicle-latest .slick-slider .slick-prev,
      .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
      .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
      .listing--vehicle-similar .slick-slider .slick-prev {
        right: 3.5rem; } }
  .listing--block .slick-slider .slick-next,
  .listing--vehicle-featured .slick-slider .slick-next,
  .listing--vehicle-latest .slick-slider .slick-next,
  .listing--vehicle-featured-sidebar .slick-slider .slick-next,
  .listing--vehicle-latest-sidebar .slick-slider .slick-next,
  .listing--vehicle-similar .slick-slider .slick-next {
    right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-next,
      .listing--vehicle-featured .slick-slider .slick-next,
      .listing--vehicle-latest .slick-slider .slick-next,
      .listing--vehicle-featured-sidebar .slick-slider .slick-next,
      .listing--vehicle-latest-sidebar .slick-slider .slick-next,
      .listing--vehicle-similar .slick-slider .slick-next {
        right: 0.9375rem; } }

.new-vehicle__primary-images-thumbnails ul.slick-slider,
.new-vehicle__secondary-images ul.slick-slider,
.vehicle__primary-images-thumbnails ul.slick-slider,
.vehicle__secondary-images ul.slick-slider {
  margin-left: -0.0625rem;
  margin-right: -0.0625rem; }
  .new-vehicle__primary-images-thumbnails ul.slick-slider .slick-slide,
  .new-vehicle__secondary-images ul.slick-slider .slick-slide,
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-slide,
  .vehicle__secondary-images ul.slick-slider .slick-slide {
    margin-left: 0.0625rem;
    margin-right: 0.0625rem;
    cursor: pointer; }
  .new-vehicle__primary-images-thumbnails ul.slick-slider .slick-prev,
  .new-vehicle__secondary-images ul.slick-slider .slick-prev,
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-prev,
  .vehicle__secondary-images ul.slick-slider .slick-prev {
    left: 0.0625rem; }
  .new-vehicle__primary-images-thumbnails ul.slick-slider .slick-next,
  .new-vehicle__secondary-images ul.slick-slider .slick-next,
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-next,
  .vehicle__secondary-images ul.slick-slider .slick-next {
    right: 0.0625rem; }

.new-vehicle__primary-images-thumbnails .slick-slider .slick-slide,
.vehicle__primary-images-thumbnails .slick-slider .slick-slide {
  cursor: pointer; }
  .new-vehicle__primary-images-thumbnails .slick-slider .slick-slide.slick-current,
  .vehicle__primary-images-thumbnails .slick-slider .slick-slide.slick-current {
    opacity: 0.75; }

.listing--vehicle-compare .slick-slider {
  padding-top: 2.5625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .slick-slider .slick-slide {
      margin-left: 0.1875rem; } }
  .listing--vehicle-compare .slick-slider .slick-prev,
  .listing--vehicle-compare .slick-slider .slick-next {
    top: 1.25rem; }
    .listing--vehicle-compare .slick-slider .slick-prev:before,
    .listing--vehicle-compare .slick-slider .slick-next:before {
      background-color: #777777;
      color: #ffffff; }
  .listing--vehicle-compare .slick-slider .slick-prev {
    left: inherit;
    right: 2.5625rem; }
  .listing--vehicle-compare .slick-slider .slick-next {
    right: 0; }

.page--home .listing--block,
.page--home .listing--vehicle-featured {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .page--home .listing--block,
    .page--home .listing--vehicle-featured {
      margin-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .listing--block .slick-slider .slick-track,
    .page--home .listing--vehicle-featured .slick-slider .slick-track {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .listing--block .slick-slider .slick-track .slick-slide,
    .page--home .listing--vehicle-featured .slick-slider .slick-track .slick-slide {
      height: auto; } }
  .page--home .listing--block .slick-slider .slick-prev,
  .page--home .listing--vehicle-featured .slick-slider .slick-prev {
    left: inherit;
    -webkit-transform: translateX(-5px);
        -ms-transform: translateX(-5px);
            transform: translateX(-5px);
    right: 50%;
    top: auto;
    bottom: -65px; }
  .page--home .listing--block .slick-slider .slick-next,
  .page--home .listing--vehicle-featured .slick-slider .slick-next {
    left: 50%;
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px);
    top: auto;
    bottom: -65px; }

.page--home .listing--block {
  padding-bottom: 5.9375rem; }
  @media screen and (min-width: 75em) {
    .page--home .listing--block {
      padding-bottom: 3.125rem; } }

@media screen and (max-width: 39.9375em) {
  .wizard > .steps > ul li {
    display: block;
    width: 100%; } }

.wizard > .steps > ul li:last-child a {
  margin-right: 0; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  margin: 0 0 0.5rem;
  padding: 0.5rem 0.9375rem;
  border-radius: 5px;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .wizard > .steps a,
    .wizard > .steps a:hover,
    .wizard > .steps a:active {
      margin: 0 0.5rem 0.5rem 0; } }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background-color: #777777;
  color: #ffffff; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  color: #ffffff;
  background-color: #aaaaaa; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  color: #ffffff;
  background-color: #292929; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  color: #ffffff;
  background-color: #cc4b37; }

.wizard > .content > .body {
  display: block;
  margin: 0.5rem 0;
  overflow: hidden;
  position: relative;
  width: auto; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  padding: 0.5rem 0.9375rem;
  color: #ffffff;
  background-color: #777777;
  font-weight: 600;
  border-radius: 5px; }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  color: #ffffff;
  background-color: #292929; }

.wizard > .actions > ul > li {
  margin: 0 0 0 0.5rem; }

.form--vehicle-valuation .card,
.form--vehicle-valuation label {
  color: #000000; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2Jhc2UvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fY29va2llLXBvbGljeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9faWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19sb2dvLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3RlbXBvcmFyeS1zbG9nYW4uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fdG9nZ2xlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Jsb2NrL19ibG9jay0tZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYnJhbmNoL19icmFuY2gtLWZvb3Rlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2JyYW5jaC9fYnJhbmNoLS1mdWxsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYnJhbmNoL19icmFuY2gtLXRlYXNlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2JyYW5jaC9fYnJhbmNoLS12ZWhpY2xlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvY3VzdG9tLWVudHJ5L19jdXN0b20tZW50cnktLWZlYXR1cmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZGVwYXJ0bWVudC9fZGVwYXJ0bWVudC0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZGVwYXJ0bWVudC9fZGVwYXJ0bWVudC0tdmVoaWNsZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLWRlbGl2ZXJ5LWNhbGVuZGFyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tZGlyZWN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlcnZpY2UtYm9va2luZy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXZlaGljbGUtcGF5bWVudC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXZlaGljbGUtc29ydC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXZlaGljbGUtdmFsdWF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL19uby1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL19wcmltYXJ5LWltYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbWVkaWEvX3NlY29uZGFyeS1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL192aWRlby5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL25ldy12ZWhpY2xlL19uZXctdmVoaWNsZS0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL25ldy12ZWhpY2xlL19uZXctdmVoaWNsZS0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbmV3LXZlaGljbGUvX25ldy12ZWhpY2xlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb2ZmZXIvX29mZmVyLS1mZWF0dXJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX2FkZC1vbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19jYWxlbmRhci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19jb2xsZWN0aW9uLWRlbGl2ZXJ5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLWludHJvZHVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci1wYXltZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXByb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXN1bW1hcnkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9vcmRlci9fb3JkZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9vcmRlci9fcGFydC1leGNoYW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3BhZ2UvX3BhZ2UtLXRlYXNlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3BhcnQvX3BhcnQtLWZlYXR1cmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFydC9fcGFydC0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3BhcnQvX3BhcnQtLXRlYXNlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Bvc3QvX21ldGEuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wb3N0L19wb3N0LS1kZWZhdWx0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcG9zdC9fcG9zdC0tZmVhdHVyZWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wb3N0L19wb3N0LS1mdWxsLXdpZHRoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcG9zdC9fcG9zdC0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoL19xdWljay1zZWFyY2guc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zZWFyY2gvX3NlYXJjaC1zZWxlY3Rpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zaG93cm9vbS9fc2hvd3Jvb20tLWZlYXR1cmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvc2hvd3Jvb20vX3Nob3dyb29tLS1mdWxsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvc2hvd3Jvb20vX3Nob3dyb29tLS10ZWFzZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL19wcmljZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3NwZWNpZmljYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1jb21wYXJlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZ2VuZXJhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLWxhdGVzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLXJlY2VudGx5LXZpZXdlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9sYXlvdXQvX2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2xheW91dC9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvdmVuZG9yL19jcmVkaXQtY2FsY3VsYXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2ZhbmN5Ym94LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL3ZlbmRvci9fZmluYW5jZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX3Jldmlldy5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19jcmVkaXRzLnNjc3MiLCJjb21wb25lbnRzL19kaXNjbGFpbWVyLnNjc3MiLCJjb21wb25lbnRzL19pY29uLnNjc3MiLCJjb21wb25lbnRzL19saXN0aW5nLnNjc3MiLCJjb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL193aGF0c2FwcC1pY29uLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay0tZGVmYXVsdC5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stLXNpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvY3VzdG9tLWVudHJ5L19jdXN0b20tZW50cnktLWZ1bGwuc2NzcyIsImNvbXBvbmVudHMvY3VzdG9tLWVudHJ5L19jdXN0b20tZW50cnktLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy9mb3JtL19mb3JtLS1wYXJ0LWV4Y2hhbmdlLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlbGwteW91ci12ZWhpY2xlLnNjc3MiLCJjb21wb25lbnRzL29yZGVyL19vcmRlci1zdGF0ZS1zdW1tYXJ5LnNjc3MiLCJjb21wb25lbnRzL3BhZ2UvX3BhZ2UtLWNvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvcGFnZS9fcGFnZS0tZGVmYXVsdC5zY3NzIiwiY29tcG9uZW50cy9wYWdlL19wYWdlLS1mdWxsLXdpZHRoLnNjc3MiLCJjb21wb25lbnRzL3BhZ2UvX3BhZ2UtLWhvbWUuc2NzcyIsImNvbXBvbmVudHMvc2VhcmNoL19zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvdmVoaWNsZS9fdGVjaG5pY2FsLWRhdGEuc2NzcyIsImNvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZnVsbC5zY3NzIiwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1zaW1pbGFyLnNjc3MiLCJjb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLnNjc3MiLCJsYXlvdXQvX2JyZWFkY3J1bWJzLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fbWFpbi5zY3NzIiwibGF5b3V0L19uYXYuc2NzcyIsInZlbmRvci9fZXh0cmFzLnNjc3MiLCJ2ZW5kb3IvX3NsaWNrLXNsaWRlci5zY3NzIiwidmVuZG9yL193aXphcmQuc2NzcyIsImFwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ3dDRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7T0FFRztBQUVIO0VB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SixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSixzQkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixXQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsV0FIbUQsRVBxRzlDOztBQU1IO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosaUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixXQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsV0FIbUQsRVBxRzlDOztBQU1IO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosaUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixXQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsV0FIbUQsRVBxRzlDOztBQU1IO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosaUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixZQ2VxRCxFTjJFaEQ7O0FBZ0JEO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBS0Q7RVF6R0YsWVgrRXVEO0VXOUV2RCxZQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGFBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSOEVEO0VHL0dBLGlCRHVFUztFQ3RFVCxnQkRzRVMsRUZ5Q3VDOztBQURoRDtFQUlJLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUdIO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUc3SEEsd0JBRnFDO0VBR3JDLHVCQUhxQyxFSGdJb0I7O0FBSXpEO0VPaklBLG1CQUFrQjtFQUNsQixrQkFBaUIsRVBrSWhCO0VPdklEO0lBQ0UsWUFBVztJQUNYLFlBQVcsRUFDWjs7QVB1SUQ7OztFTzVIRixpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLGdCQUFlO0VBQ2YsZUFBYyxFUDZIWDs7QUlOQztFSnJEQTtJS3hGSixnQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosZ0JEaEJnQyxFTmdHM0I7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixzQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFlDZXFELEVOMkVoRDtFQWdCRDtJTzlFSix1QkRicUQsRU42RmhEO0VBS0Q7SVF6R0YsWVgrRXVEO0lXOUV2RCxZQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsYUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUjhFRDtJRy9HQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGeUN1QztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lHN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUhnSW9CO0VBSXpEO0lPaklBLG1CQUFrQjtJQUNsQixrQkFBaUIsRVBrSWhCO0lPdklEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFUHVJRDs7O0lPNUhGLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsZ0JBQWU7SUFDZixlQUFjLEVQNkhYLEVBQUE7O0FJTkM7RUpyREE7SUt4RkosZ0JDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGdCRGhCZ0MsRU5nRzNCO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosc0JEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixZQ2VxRCxFTjJFaEQ7RUFnQkQ7SU85RUosdUJEYnFELEVONkZoRDtFQUtEO0lRekdGLFlYK0V1RDtJVzlFdkQsWUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGFBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVI4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJT2pJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQa0loQjtJT3ZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SUQ7OztJTzVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFUDZIWCxFQUFBOztBQUlIO0VHMUZFLHVCRGFxRCxFRitFdEQ7RUcxRkM7SUFDRSxpQkFBZ0IsRUFDakI7RUM0RUM7SUpVSjtNRzFGRSx3QkRhcUQsRUYrRXREO01HMUZDO1FBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7O0FNZ0xIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JYN0kwQjtFVytJMUIsbUJBQWtCO0VBQ2xCLGlCWGpKc0I7RVdrSnRCLG1DWGhKeUMsRVdpSjFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsaUJYaE9vQjtFV2lPcEIscUJBQW9CLEVBQ3JCOztBZmdEQztFZTVDQSxlWHZLaUI7RVd3S2pCLHFCQUFvQixFQUNyQjs7QWZ6TUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0Vla05BLGtDWHZQbUM7RVd3UG5DLG1CWDNNc0I7RVc0TXRCLGlCWHBQeUI7RVdxUHpCLGVYM01rQjtFVzRNbEIsbUNYdkxzQyxFVzZMdkM7RUFoQkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBYUksZUFBYztJQUNkLGVYdFFlLEVXdVFoQjs7QWYzTkQ7RWV1T1Esb0JQdlA2QztFT21RN0MsZVh4T1M7RVdnUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOzs7QUFyR1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3RVUsb0JQdlA2QztFT21RN0MsZVh4T1M7RVdnUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOzs7QUFwR1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVFVSxvQlB2UDZDO0VPbVE3QyxlWHhPUztFV2dQVCxjQUFhO0VBT2Isb0JQbFI2QyxFT29SaEQ7OztBQW5HUDs7Ozs7Ozs7Ozs7Ozs7RUFzRVUsb0JQdlA2QztFT21RN0MsZVh4T1M7RVdnUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOzs7QUFsR1A7OztFQXFFVSxvQlB2UDZDO0VPbVE3QyxlWHhPUztFV2dQVCxjQUFhO0VBT2Isb0JQbFI2QyxFT29SaEQ7O0FBakNEO0VBSUksb0JQdlA2QztFT21RN0MsZVh4T1M7RVdnUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOztBTGpOSDtFVm5ERjtJZXVPUSxnQlB2UDZDLEVPb1JoRDs7RUFyR1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3RVUsbUJQdlA2QyxFT29SaEQ7O0VBcEdQOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF1RVUsa0JQdlA2QyxFT29SaEQ7O0VBbkdQOzs7Ozs7Ozs7Ozs7OztJQXNFVSxtQlB2UDZDLEVPb1JoRDs7RUFsR1A7OztJQXFFVSxnQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLG1CUHZQNkMsRU9vUmhELEVBQUE7O0FmbkdMO0VlMEdBLHFCQUFvQjtFQUNwQixlWHJUVztFV3NUWCxzQlhoT3lCO0VXa096QixnQkFBZSxFQWFoQjtFQWxCRDtJQVNJLGVYdk8yRCxFVzJPNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FmdktEO0VlNEtBLFlBQVc7RUFFWCxrQlBsVHFEO0VPbVRyRCxVQUFTO0VBQ1QscUJYblB5QjtFV3FQekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYcFZpQjtFV3FWakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlg3UTBCO0VXOFExQiw2Qlg1UHlCO0VXNlB6QixpQlhoUnNCLEVXaVJ2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCWHRRc0I7RVd1UXRCLHNCWHpRa0IsRVcwUW5COztBQUdEO0VBQ0UscUJYNVFzQixFVzZRdkI7O0FBR0Q7RUFFSSxxQlhqUjJCO0VXa1IzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlh2UnlCLEVXNlIxQjtFQVBEO0lBSUksc0JYeFI4QjtJV3lSOUIsaUJYbFhrQixFV21YbkI7O0FBSUg7RUFDRSxpQlh0VDBCO0VXdVQxQix1Q1AxV3FEO0VPMldyRCwrQlh2WWlCLEVXNllsQjtFQVREO0lBTUksaUJYNVRvQjtJVzZUcEIsZVgxWWEsRVcyWWQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJQdFhxRDtFT3VYckQsZVhsWmUsRVd1WmhCO0VBUkQ7SUFNSSxjWDFTNkIsRUFBQTs7QVcrU2pDO0VBQ0Usa0NYMVpXO0VXMlpYLGVYMVpXO0VXMlpYLGFBQVksRUFDYjs7QWY3UUM7RWVpUkEsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NQNVlxRDtFTzhZckQsMEJYMWFpQjtFVzJhakIsMEJYNWFnQjtFVzhhaEIsNkRYeFhtRTtFV3lYbkUsaUJYbmFzQjtFV29hdEIsZVg3YVcsRVc4YVo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJQcFpTO0VPc1pULDBCWHhiZ0I7RVcwYmhCLDZEWHBZbUU7RVdxWW5FLGVYeGJXO0VXMmJULG1CWC9hYSxFV2liaEI7O0FDNWNEO0VBQ0UsbUJad0l5QjtFWXZJ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MkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRnlCO01BRXpCLDZCQUZ5QjtVQUV6Qix5QkFGeUI7RUN2QnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJE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RitEO1FBRy9ELHdCQUgrRCxFNERoRmYsRUFBQTtJOUQrSWxEO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaO0U4RDNKRDtJeERXQSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0kwRGZyQyx5QjNEbUZxRDtJMkRsRnJELGtCM0RrRnFEO0kyRGpGckQsZUFBYyxFQUlmO0l6RGdKRztNeUR4Sko7UTFEbUJFLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBEVHRDLEVBQUE7SXZEd0RDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNeUR4Sko7UXhEV0EsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFMERUdEMsRUFBQTtFekRnSkc7SXlEeEpKO00xRG1CRSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwRFR0QyxFQUFBO0l6RGdKRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFdUR6REg7SXhERUEsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJMEROckMseUIzRDBFcUQ7STJEekVyRCxvQjNEeUVxRDtJMkR4RXJELGlCQUFnQixFQUtqQjtJekRzSUc7TXlEL0lKO1ExRFVFLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBEQ3RDLEVBQUE7SXZEOENDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNeUQvSUo7UXhERUEsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRMEREbkMsa0JBQWlCLEVBRXBCLEVBQUE7RXpEc0lHO0l5RC9JSjtNMURVRSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwREN0QyxFQUFBO0l6RHNJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFdUQvQ0g7SUFDRSxvQjNEaUVxRDtJMkRoRXJELGlCQUFnQixFQUNqQjtFQUNEO0lBQ0UsWUFBVztJQUNYLHVCM0Q0RHFELEUyRHREdEQ7SXpEeUhHO015RGpJSjtRQUlJLGFBQVk7UUFDWixzQjNEeURtRDtRMkR4RG5ELGdCQUFlLEVBRWxCLEVBQUE7RUFDRDtJeERyQkEsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJMERpQnJDLHlCM0RtRHFELEUyRGxEdEQ7SXpEcUhHO015RHhISjtRMURiRSx5QkFGcUM7UUFHckMsd0JBSHFDLEUwRGtCdEMsRUFBQTtJdkQ2QkM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0V1RDlCSDtJQUdFLGtCM0Q4Q3FELEUyRDVDdEQ7SXpEK0dHO015RHBISjtRQUlnQyxvQzNENkN1QixFMkQ1Q3RELEVBQUE7O0FDNUNIO0VBR00sb0JBQW1CO0VBQ25CLGVBQWMsRUFDZjs7QUFMTDtFQU0rQiwwQkFBeUIsRUFBSTs7QXRCNEkxRDtFYnhHQSxVN0JxWGE7RTZCcFhiLHNCQUFxQjtFQThDbkIsZUFBYztFQUNkLFlBQVc7RUFDWCxvQkFBbUIsRW9DdkN0QjtFcENDQztJQU9JLG9CQUFtQjtJQUNuQix1QkFBc0IsRUFFekI7SW5Dd25JQztNT3JnSUEsV0FBVSxFQUNYO0U0QmpIRDtJQUNFLGVBQWM7SUFDZCxxQjdCNlYyQjtJNkI1VjNCLGVBQWMsRUFDZjtFQUdEOzs7O0lBSUUsaUJBQWdCLEVBQ2pCO0VBZ0JEO0lBQ0UsWUFBVyxFQUNaO0U1QmlERDtJZ0U3SVcsY0FBYSxFQUFJO0VwQ2lENUI7SW9DL0NFLFlBQVcsRUE2Q1o7SUFuREg7TUFRTSxpQjdEZ0ZtRDtNNkQvRW5ELHNCN0QrRW1EO002RDlFbkQsV0FBVTtNQUNWLGVqRW9EUztNaUVuRFQsbUJBQWtCO01BQ2xCLGlCakUyRHVCO01pRTFEdkIsMEJqRXdDYztNaUV2Q2Qsd0I3RHlFbUQsRTZEbkVwRDtNQXJCTDtRQWlCUSxpQkFBZ0I7UUFDaEIsbUJBQWtCO1FBQ2xCLHFCQUFvQixFQUNyQjtJQXBCUDs7O01BeUJNLGVqRXNDUztNaUVyQ1QsMEJqRTJCWSxFaUUxQmI7SUEzQkw7TUE2Qk0sbUJBQWtCLEVBa0JuQjtNM0Q0R0M7UTJEM0pOO1VBZ0NVLG1CQUFrQjtVQUNsQixVQUFTO1VBQ1QsVUFBUztVQUNULHFCN0RxRCtDO1U2RHBEL0MsWUFBVztVQUNYLGVBQWM7VUFDZCxTQUFRO1VBQ1IsVUFBUztVQUNULDhCQUE0QjtVQUM1QixtQ0FBa0M7VUFDbEMsb0NBQW1DO1VBQ25DLDhCakVVUTtVaUVUUixhQUFZLEVBRWYsRUFBQTtJQTlDUDtNQWlEeUIsZ0JBQWUsRUFBSTs7QUFJNUM7RUFFa0IsV0FBVSxFQUFJOztBQUdoQztFQUVrQixxQjdEaUNMLEU2RGpDa0M7O0FDNUQvQztFQUNFLGVBQWM7RUFDZCx5QkFBZ0I7RUFBaEIsaUJBQWdCO0VBQ2hCLE9BQU07RUFDTiwwQmxFaURnQjtFa0VoRGhCLGFBQVksRUFjYjtFQWJDO0lBQ0Usa0I5RGlGcUQ7SThEaEZyRCxlbEV1RFc7SWtFdERYLG1COUQrRXFEO0k4RDlFckQsaUJsRThEeUI7SWtFN0R6QixtQkFBa0I7SUFDbEIsMEJBQXlCO0lBQ3pCLGlCQUFnQixFQUtqQjtJNUR5SUc7TTREckpKO1FBUWdDLG9COUQwRXVCLEU4RHRFdEQsRUFBQTtJNUR5SUc7TTREckpKO1FBUytCLHFCOUR5RXdCLEU4RHRFdEQsRUFBQTtJNUQ4SUc7TTREMUpKO1FBVWdDLGdCOUR3RXVCLEU4RHRFdEQsRUFBQTtJQVpBO01BV0ssZWxFOENPLEVrRTlDVTs7QTVEK0luQjtFNkRoS047SUFFSSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixPQUFNO0lBQ04sUUFBTztJQUNQLGFBQVk7SUFDWixpQi9EaUZxRDtJK0RoRnJELDBCbkV5RHFCO0ltRXhEckIsMkNBQTBDO0lBQzFDLG1CQUFrQjtJQUNsQixhQUFZLEVBR2Y7SUFkRDtNQVkyQixjQUFhLEVBQUksRUFBQTs7QUFHNUM7RUFDRSxnQkFBZTtFQUNmLE9BQU07RUFDTixVQUFTO0VBQ1QsUUFBTztFQUNQLFNBQVE7RUFDUixhQUFZO0VBQ1osc0NuRXdDYSxFbUV2Q2Q7O0FDdkJEO0VBR00sMEIzQndGMkM7RTJCdkYzQyx5QmhFb0ZtRCxFZ0VuRnBEOztBQ0xMO0VBRUksc0JBQXFCO0VBQ3JCLHdCakVxRnFELEVpRWhGdEQ7RUFSSDtJQUtNLGFBQVk7SUFDWixzQkFBcUIsRUFDdEI7O0FBUEw7RUFVSSxzQkFBcUIsRUFRdEI7RUFsQkg7SUFhUSxhQUFZO0lBQ1osc0JBQXFCLEVBQ3RCO0VBZlA7SUFnQjRCLFlBQVcsRUFBSTs7QUNoQjNDO0VBRUksd0JsRXNGcUQsRWtFL0V0RDtFaEVrSkc7SWdFM0pOO01BR2tDLHlCbEVxRnVCLEVrRS9FdEQsRUFBQTtFQVRIO0lBS00sWUFBVztJQUNYLGlCbEVrRm1ELEVrRWhGcEQ7SWhFbUpDO01nRTNKTjtRQU9vQyxjbEVpRnFCLEVrRWhGcEQsRUFBQTs7QUFSTDtFQVdJLHdCbEU2RXFELEVrRXZFdEQ7RWhFMElHO0lnRTNKTjtNQVlrQyx5QmxFNEV1QixFa0V2RXRELEVBQUE7RUFqQkg7SUFjTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBQWhCTDs7RUFvQkksdUJsRW9FcUQsRWtFekR0RDtFaEU0SEc7SWdFM0pOOztNQXNCTSxhQUFZO01BQ1osYWxFaUVtRDtNa0VoRW5ELHFCbEVnRW1ELEVrRXpEdEQsRUFBQTtFaEU0SEc7SWdFM0pOOztNQTBCaUMsYWxFOER3QixFa0V6RHRELEVBQUE7RUEvQkg7O0lBNEJNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0FoRTZIQztFZ0UzSk47SUFrQ00sYUFBWTtJQUNaLGFBQVk7SUFDWixhbEVvRG1EO0lrRW5EbkQscUJsRW1EbUQsRWtFekN0RCxFQUFBOztBaEU0R0c7RWdFM0pOO0lBdUNpQyxhbEVpRHdCLEVrRXpDdEQsRUFBQTs7QUEvQ0g7RUF5Q00saUJBQWdCO0VBQ2hCLGVBQWM7RW5FMENoQix3QkFGK0Q7RUFHL0QsdUJBSCtELEVtRXBDOUQ7RWhFNkdDO0lnRTNKTjtNbkVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFbUVwQzlELEVBQUE7RWhFNkdDO0lnRTNKTjtNbkVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFbUVwQzlELEVBQUE7RXJFbUdIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RTREdkRMO0lBNkNXLHVCbEUyQzhDLEVrRTNDZjs7QUE3QzFDO0VBaURJLHlCbEV1Q3FELEVrRWpDdEQ7RWhFb0dHO0lnRTNKTjtNQWtEa0Msd0JsRXNDdUIsRWtFakN0RCxFQUFBO0VBdkRIO0lBb0RNLDJCQUEwQixFQUUzQjtJQXRETDtNQXFEZ0Isc0JBQXFCLEVBQUk7O0FBckR6QztFQTBETSxlQUFjO0VBQ2QsaUJBQWdCLEVBS2pCO0VBaEVMO0lBNkRRLHNCQUFxQjtJQUNyQixzQmxFMEJpRCxFa0V6QmxEOztBQS9EUDtFQW1FSSx3QmxFcUJxRCxFa0VsQnREO0VoRXFGRztJZ0UzSk47TUFvRWtDLHlCbEVvQnVCLEVrRWxCdEQsRUFBQTs7QUN0RUg7RXBFb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9FL0NsRTtFakV3SEs7SWlFM0pOO01wRW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvRS9DbEUsRUFBQTtFakV3SEs7SWlFM0pOO01wRW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvRS9DbEUsRUFBQTtFdEU4R0M7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RXNFOUpIO0loRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRWtFbEJLO0lqRXlKeEM7TWlFM0pOO1FsRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVrRWxCSyxFQUFBO0kvRGlFMUM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0UrRHJFTDtJaEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0lrRWZyQyx5Qm5FbUZxRCxFbUUvRXREO0lqRWtKRztNaUUzSk47UWxFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtFWHRDLEVBQUE7SS9EMERDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNaUUzSk47UWhFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWtFWHRDLEVBQUE7RWpFa0pHO0lpRTNKTjtNbEVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFa0VYdEMsRUFBQTtJakVrSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RStEckVMO0lBWVcsZUFBYyxFQUFJO0VBWjdCO0loRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SWtFSnJDLHlCbkV3RXFELEVtRS9EdEQ7SWpFa0lHO01pRTNKTjtRbEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFa0VLdEMsRUFBQTtJL0QwQ0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO01pRTNKTjtRaEVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFa0VLdEMsRUFBQTtFakVrSUc7SWlFM0pOO01sRXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEVrRUt0QyxFQUFBO0lqRWtJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJK0RyRUw7TUFxQk0saUJBQWdCO01BQ2hCLFVBQVMsRUFDVjtFQXZCTDtJaEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0lrRVFyQyx5Qm5FNERxRCxFbUV0RHREO0lqRXlIRztNaUUzSk47UWxFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtFY3RDLEVBQUE7SS9EaUNDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNaUUzSk47UWhFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWtFY3RDLEVBQUE7RWpFeUhHO0lpRTNKTjtNbEVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFa0VjdEMsRUFBQTtJakV5SEc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SStEckVMO01BaUNhLHlCbkV1RDRDLEVtRXZEYjs7QUNqQzVDO0VyRW9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEVxRXRDbEU7RWxFK0dLO0lrRTNKTjtNckVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUV0Q2xFLEVBQUE7RWxFK0dLO0lrRTNKTjtNckVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUV0Q2xFLEVBQUE7RXZFcUdDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0V1RTlKSDtJakVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtRUp0QztJbEUySUc7TWtFM0pOO1FuRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtRUp0QyxFQUFBO0loRW1EQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtFM0pOO1FqRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtRUp0QyxFQUFBO0VsRTJJRztJa0UzSk47TW5Fc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1FSnRDLEVBQUE7SWxFMklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0lnRXJFTDtNQVFNLFlBQVc7TUFDWCxpQnBFK0VtRDtNb0U5RW5ELHlCcEU4RW1ELEVvRXpFcEQ7TWxFNElDO1FrRTNKTjtVQVlRLGdCcEU0RWlEO1VvRTNFakQsaUJBQWdCLEVBRW5CLEVBQUE7RUFmTDtJakVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtRUV0QztJbEVxSUc7TWtFM0pOO1FuRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtRUV0QyxFQUFBO0loRTZDQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtFM0pOO1FqRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtRUV0QyxFQUFBO0VsRXFJRztJa0UzSk47TW5Fc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1FRXRDLEVBQUE7SWxFcUlHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VnRXJFTDs7SUEwQkksd0JwRThEcUQsRW9FN0R0RDtFQTNCSDtJQTZCSSx1QnBFMkRxRCxFb0V6RHREO0lBL0JIO01BOEJXLGVBQWMsRUFBSTtFQTlCN0I7O0lBa0NJLHVCcEVzRHFELEVvRTdDdEQ7SUEzQ0g7O01BcUNNLHdCcEVtRG1ELEVvRWxEcEQ7SUF0Q0w7O01Bd0NNLGlCQUFnQjtNQUNoQixVQUFTLEVBQ1Y7O0FDMUNMO0V0RW9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEVzRXpDbEU7RW5Fa0hLO0ltRTNKTjtNdEVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFc0V6Q2xFLEVBQUE7RW5Fa0hLO0ltRTNKTjtNdEVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFc0V6Q2xFLEVBQUE7RXhFd0dDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0V3RTlKSDtJbEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0lvRWhCckMsd0JyRW9GcUQsRXFFaEZ0RDtJbkVtSkc7TW1FM0pOO1FwRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVvRVp0QyxFQUFBO0lqRTJEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TW1FM0pOO1FsRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVvRVp0QyxFQUFBO0VuRW1KRztJbUUzSk47TXBFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW9FWnRDLEVBQUE7SW5FbUpHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VpRXJFTDtJbEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVvRU50QztJbkU2SUc7TW1FM0pOO1FwRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVvRU50QyxFQUFBO0lqRXFEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TW1FM0pOO1FsRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVvRU50QyxFQUFBO0VuRTZJRztJbUUzSk47TXBFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW9FTnRDLEVBQUE7SW5FNklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VpRXJFTDtJbEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVvRUw2QjtJbkU0SWhFO01tRTNKTjtRcEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFb0VMNkIsRUFBQTtJakVvRGxFO01BQ0UsYVRrQ3NELEVTakN2RDtFaUVyRUw7SUFrQkksd0JyRXNFcUQsRXFFckV0RDtFQW5CSDtJQXNCSSx3QnJFa0VxRCxFcUVqRXREO0VBdkJIO0lBeUJJLHdCckUrRHFELEVxRXZEdEQ7SUFqQ0g7TUEyQk0sVUFBUztNQUNULGlCQUFnQixFQUlqQjtNQWhDTDtRQThCZSxpQnpFMENjLEV5RTFDMkI7RUE5QnhEO0lBbUNJLHlCckVxRHFEO0lxRXBEckQsaUJBQWdCLEVBQ2pCO0VBckNIO0lBdUNjLGlCQUFnQixFQUFJOztBQ3ZDbEM7RUFDc0IsaUIxRXVFTyxFMEV2RWtDOztBQUQvRDtFQUtRLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osd0J0RWlGaUQsRXNFaEZsRDs7QUFSUDtFQVV5QixpQjFFOERJLEUwRTlEcUM7O0FBVmxFO0VBY00saUJBQWdCO0VBQ2hCLFVBQVMsRUFDVjs7QUFoQkw7RUFrQk0sc0JBQXFCO0VBQ3JCLGFBQVk7RUFDWixpQjFFb0R1QixFMEVuRHhCOztBQ3JCTDtFQUlRLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osd0J2RWtGaUQsRXVFakZsRDs7QUFQUDtFQVN5QixpQjNFK0RJLEUyRS9EcUM7O0FBVGxFO0VBYU0sc0JBQXFCO0VBQ3JCLGFBQVk7RUFDWixpQjNFeUR1QixFMkV4RHhCOztBQ2hCTDtFQUNFLHNCeEV1RnVELEV3RWpGeEQ7RUFQRDtJQUdJLG9CeEVxRnFELEV3RWxGdEQ7SXRFcUpHO01zRTNKTjtRQUlrQyxxQnhFb0Z1QixFd0VsRnRELEVBQUE7SUFOSDtNQUtjLGlCQUFnQixFQUFJOztBQ0xsQztFMUVvRkksd0JBRitEO0VBRy9ELHVCQUgrRCxFMEVqRGxFO0V2RTBISztJdUUzSk47TTFFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTBFakRsRSxFQUFBO0V2RTBISztJdUUzSk47TTFFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTBFakRsRSxFQUFBO0U1RWdIQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFNEU5Skg7SXRFY0UsV0NlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFd0VidEM7SXZFb0pHO011RTNKTjtReEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFd0VidEMsRUFBQTtJckU0REM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO011RTNKTjtRdEVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFd0VidEMsRUFBQTtFdkVvSkc7SXVFM0pOO014RXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV3RWJ0QyxFQUFBO0l2RW9KRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFcUVyRUw7SXRFY0UsV0NlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFd0VQdEM7SXZFOElHO011RTNKTjtReEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFd0VQdEMsRUFBQTtJckVzREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO011RTNKTjtRdEVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFd0VQdEMsRUFBQTtFdkU4SUc7SXVFM0pOO014RXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV3RVB0QyxFQUFBO0l2RThJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFcUVyRUw7SXRFY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFd0VJdEM7SXZFbUlHO011RTNKTjtReEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFd0VJdEMsRUFBQTtJckUyQ0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO011RTNKTjtRdEVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRd0VGbkMsc0J6RXNFbUQsRXlFaEV0RCxFQUFBO0V2RW1JRztJdUUzSk47TXhFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXdFSXRDLEVBQUE7SXZFbUlHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RDtRcUVyRUw7VUFvQlEsWUFBVztVQUNYLGlCQUFnQixFQUNqQixFQUFBO0VBdEJQO0l0RWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXdFV3BDO0l2RTRIQztNdUUzSk47UXhFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXdFV3BDLEVBQUE7SXJFb0NEO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNdUUzSk47UXRFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXdFV3BDLEVBQUE7RXZFNEhDO0l1RTNKTjtNeEVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFd0VXcEMsRUFBQTtJdkU0SEM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0FxRW5DTDtFQUNFLG1CQUFrQixFQWFuQjtFQWREO0lBR0ksbUJBQWtCO0lBQ2xCLGdCekVrRHFEO0l5RWpEckQsZXpFaURxRDtJeUVoRHJELGlCQUFnQixFQU9qQjtJQWJIO01BUU0sZ0J6RThDbUQ7TXlFN0NuRCxpQkFBZ0I7TUFDaEIsYUFBWTtNQUNaLHVCekUyQ21ELEV5RTFDcEQ7O0FDOUNMOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JhLHlCMUV3RTRDLEUwRXhFYjs7QUFoQjVDO0VBa0JJLGtCMUVzRXFEO0UwRXJFckQsdUIxRXFFcUQ7RTBFcEVyRCx5QjFFb0VxRDtFMEVuRXJELGU5RW9DWTtFOEVuQ1oscUIxRWtFcUQ7RTBFakVyRCx1QjFFaUVxRCxFMEVoRXREOztBQXhCSDtFQTJCTSxlQUFjO0VBQ2Qsd0IxRTREbUQsRTBFdERwRDtFQWxDTDtJQTZCVSxtQjFFMkQrQyxFMEUzRHBCO0VBN0JyQztJQStCUSxlQUFjO0lBQ2QsdUJBQXNCLEVBQ3ZCOztBQWpDUDtFQXNDTSx5QjFFa0RtRCxFMEVEcEQ7RUF2Rkw7SUF3Q1EsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxnQjFFOENpRDtJMEU3Q2pELHNCMUU2Q2lEO0kwRTVDakQsd0IxRTRDaUQ7STBFM0NqRCwwQjlFa0JPO0k4RWpCUCxhQUFZO0lBQ1osd0IxRXlDaUQ7STBFeENqRCxpQkFBZ0IsRUFxQ2pCO0lBckZQO01Ba0RVLHlCQUF3QjtNQUN4QixlQUFjO01BQ2QsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixRQUFPO01BQ1AsZ0IxRWlDK0M7TTBFaEMvQyxnQjFFZ0MrQztNMEUvQi9DLG9CMUUrQitDO00wRTlCL0MsaUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQiwwQjlFTlU7TThFT1YsZTlFRUs7TThFREwsaUMxRTBCK0M7TTBFekIvQyxvQzFFeUIrQztNMEV4Qi9DLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsdUJBQXNCO01BQ3RCLHFCQUFvQjtNQUNwQixzQkFBcUI7TUFDckIsb0JBQW1CO01BQ25CLGtCQUFpQjtNQUNqQixlQUFjO01BQ2Qsc0NBQXFDO01BQ3JDLG9DQUFtQztNQUNuQyx1QkFBc0IsRUFDdkI7SUEzRVQ7TUE2RVUsaUIxRVcrQztNMEVWL0Msb0IxRVUrQztNMEVUL0MsaUI5RU5jO004RU9kLDBCQUF5QjtNQUN6QiwwQjlFbEJLO004RW1CTCxhQUFZO01BQ1osaUJBQWdCLEVBQ2pCO0VBcEZUO0lBc0Z1QixjQUFhLEVBQUk7O0FBdEZ4QztFM0VvRkksd0JBRitEO0VBRy9ELHVCQUgrRCxFMkV1Q2hFO0V4RWtDRztJd0UzSk47TTNFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTJFdUNoRSxFQUFBO0V4RWtDRztJd0UzSk47TTNFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTJFdUNoRSxFQUFBO0U3RXdCRDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFNkU5Skg7SXZFY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFeUUwRXBDO0l4RTZEQztNd0UzSk47UXpFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlFMEVwQyxFQUFBO0l0RTNCRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXdFM0pOO1F2RWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV5RTBFcEMsRUFBQTtFeEU2REM7SXdFM0pOO016RXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5RTBFcEMsRUFBQTtJeEU2REM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXNFckVMO0l2RWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXlFb0dwQztJeEVtQ0M7TXdFM0pOO1F6RXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV5RW9HcEMsRUFBQTtJdEVyREQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO013RTNKTjtRdkVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFeUVvR3BDLEVBQUE7RXhFbUNDO0l3RTNKTjtNekVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFeUVvR3BDLEVBQUE7SXhFbUNDO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0lzRXJFTDtNQW1HUSxlOUVwQ087TThFcUNQLDBCOUUvQ1U7TThFZ0RWLGlCMUViaUQsRTBFY2xEO0lBdEdQO01Bd0dRLHlCMUVoQmlEO00wRWlCakQsZTlFMUNPO004RTJDUCxrQjFFbEJpRDtNMEVtQmpELGlCOUVuQ3FCO004RW9DckIsZUFBYyxFQUNmO0lBN0dQO01BK0dRLFVBQVM7TUFDVCxpQkFBZ0IsRUFDakI7SUFqSFA7TUFvSFUsYUFBWTtNQUNaLGlCOUU3Q21CLEU4RThDcEI7O0FBTVA7RUFDRSxrQjFFckNxRDtFMEVzQ3JELGlCOUVyRG9CLEU4RXNEckI7O0FDL0hIO0U1RW9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEU0RTJLbEU7RXpFbEdLO0l5RTNKTjtNNUVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFNEUyS2xFLEVBQUE7RXpFbEdLO0l5RTNKTjtNNUVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFNEUyS2xFLEVBQUE7RTlFNUdDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0U4RTlKSDs7Ozs7Ozs7Ozs7Ozs7OztJQWlCYSx5QjNFdUU0QyxFMkV2RWI7RUFqQjVDO0lBbUJJLGtCM0VxRXFEO0kyRXBFckQsdUIzRW9FcUQ7STJFbkVyRCx5QjNFbUVxRDtJMkVsRXJELGUvRW1DWTtJK0VsQ1oscUIzRWlFcUQ7STJFaEVyRCx1QjNFZ0VxRCxFMkUvRHREO0VBekJIO0l4RWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTBFU3RDO0l6RThIRztNeUUzSk47UTFFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBFU3RDLEVBQUE7SXZFc0NDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNeUUzSk47UXhFY0UsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFMEVTdEMsRUFBQTtFekU4SEc7SXlFM0pOO00xRXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwRVN0QyxFQUFBO0l6RThIRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFdUVyRUw7SXhFY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFMEVhdEM7SXpFMEhHO015RTNKTjtRMUVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFMEVhdEMsRUFBQTtJdkVrQ0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO015RTNKTjtReEVjRSxXQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUwRWF0QyxFQUFBO0V6RTBIRztJeUUzSk47TTFFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTBFYXRDLEVBQUE7SXpFMEhHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0V1RXJFTDtJeEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEUwRWdCdEM7SXpFdUhHO015RTNKTjtRMUVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFMEVnQnRDLEVBQUE7SXZFK0JDO01BQ0UsYVRrQ3NELEVTakN2RDtFdUVyRUw7SUFzQ0kseUIzRWtEcUQsRTJFRHREO0lBdkZIO01Bd0NNLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsZ0IzRThDbUQ7TTJFN0NuRCxzQjNFNkNtRDtNMkU1Q25ELHdCM0U0Q21EO00yRTNDbkQsMEIvRWtCUztNK0VqQlQsYUFBWTtNQUNaLHdCM0V5Q21EO00yRXhDbkQsaUJBQWdCLEVBcUNqQjtNQXJGTDtRQWtEUSx5QkFBd0I7UUFDeEIsZUFBYztRQUNkLG1CQUFrQjtRQUNsQixPQUFNO1FBQ04sUUFBTztRQUNQLGdCM0VpQ2lEO1EyRWhDakQsZ0IzRWdDaUQ7UTJFL0JqRCxvQjNFK0JpRDtRMkU5QmpELGlCQUFnQjtRQUNoQixtQkFBa0I7UUFDbEIsMEIvRU5ZO1ErRU9aLGUvRUVPO1ErRURQLGlDM0UwQmlEO1EyRXpCakQs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akZjRSxZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEVtRjRFdEM7RWxGMkRHO0lrRjNKTjtNbkZzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFbUY0RXRDLEVBQUE7RWhGN0JDO0lBQ0UsYVRrQ3NELEVTakN2RDtFRjJGQztJa0ZoS047TWpGY0UsaUJDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUMsRW1GNEV0QyxFQUFBO0VsRjJERztJa0YzSk47TW5Gc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1GNEV0QyxFQUFBO0VsRmdFRztNRTdGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFRnNGQztJa0YzSk47TWpGY0UsaUJDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUMsRW1GNEV0QyxFQUFBO0VsRjJERztJa0YzSk47TW5Gc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1GNEV0QyxFQUFBO0VsRjJERztNRXhGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFZ0ZyRUw7SUFpRU0sa0JwRnVCbUQ7SW9GdEJuRCwwQnhGRG1CLEV3RjhCcEI7SWxGNERDO01rRjNKTjtRQW9FUSxtQnBGb0JpRCxFb0ZPcEQsRUFBQTtJQS9GTDtNQXVFUSx5QnBGaUJpRDtNb0ZoQmpELGVBQWMsRUFNZjtNQTlFUDtRQTBFVSxlQUFjO1FBQ2Qsa0JwRmErQztRb0ZaL0MsaUJ4RkxnQixFd0ZNakI7SUE3RVQ7TUErRTRCLHlCcEZTNkIsRW9GVEU7SUEvRTNEO01BaUZRLHlCcEZPaUQ7TW9GTmpELGdCcEZNaUQ7TW9GTGpELG1CQUFrQjtNQUNsQixvQnBGSWlELEVvRkVsRDtNQTFGUDtRQXNGVSxlQUFjO1FBQ2Qsb0JwRkMrQztRb0ZBL0MsaUJ4RmhCbUIsRXdGaUJwQjtJQXpGVDtNQTRGUSwwQnBGSmlEO01vRktqRCwwQi9DRnlDLEUrQ0cxQzs7QUE5RlA7RWpGY0UsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFD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Qyx3QkFIcUMsRXNGWnRDLEVBQUE7SW5GMkRDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNcUYzSk47UXBGY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNGWnRDLEVBQUE7RXJGbUpHO0lxRjNKTjtNdEZzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFc0ZadEMsRUFBQTtJckZtSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RW1GckVMO0lwRmNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXNGTnRDO0lyRjZJRztNcUYzSk47UXRGc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXNGTnRDLEVBQUE7SW5GcURDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNcUYzSk47UXBGY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNGTnRDLEVBQUE7RXJGNklHO0lxRjNKTjtNdEZzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFc0ZOdEMsRUFBQTtJckY2SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RW1GckVMO0lwRmNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXNGTHNCO0lyRjRJekQ7TXFGM0pOO1F0RnNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVzRkxzQixFQUFBO0luRm9EM0Q7TUFDRSxhVGtDc0QsRVNqQ3ZEO0VtRnJFTDtJQWtCSSx3QnZGc0VxRCxFdUZyRXREO0VBbkJIO0lBc0JJLHdCdkZrRXFELEV1RmpFdEQ7RUF2Qkg7SUF5QkkseUJ2RitEcUQ7SXVGOURyRCxpQkFBZ0IsRUFDakI7RUEzQkg7SUE2QmMsaUJBQWdCLEVBQUk7O0FDN0JsQztFQUVJLHVCeEZzRnFELEV3RmpGdEQ7RUFQSDtJQUlNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0FBTkw7RUFTSSx1QnhGK0VxRCxFd0ZyRXREO0V0RndJRztJc0YzSk47TUFXTSxhQUFZO01BQ1osYXhGNEVtRDtNd0YzRW5ELHFCeEYyRW1ELEV3RnJFdEQsRUFBQTtFQW5CSDtJQWdCTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBdEZ5SUM7RXNGM0pOO0lBc0JNLGFBQVk7SUFDWixhQUFZO0lBQ1osYXhGZ0VtRDtJd0YvRG5ELHFCeEYrRG1ELEV3RnREdEQsRUFBQTs7QUFsQ0g7RUE0Qk0saUJBQWdCO0VBQ2hCLGVBQWM7RXpGdURoQix3QkFGK0Q7RUFHL0QsdUJBSCtELEV5RmpEOUQ7RXRGMEhDO0lzRjNKTjtNekZvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFeUZqRDlELEVBQUE7RXRGMEhDO0lzRjNKTjtNekZvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFeUZqRDlELEVBQUE7RTNGZ0hIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RWtGdkRMO0lBZ0NXLHVCeEZ3RDhDLEV3RnhEZjs7QUFoQzFDOztFQXFDSSx5QnhGbURxRCxFd0YxQ3REO0V0RjZHRztJc0YzSk47O01Bc0NrQyx3QnhGa0R1QixFd0YxQ3RELEVBQUE7RUE5Q0g7O0lBd0NxQixpQkFBZ0IsRUFBSTtFQXhDekM7O0lBMENRLDJCQUEwQixFQUUzQjtJQTVDUDs7TUEyQ2tCLHNCQUFxQixFQUFJOztBQTNDM0M7RUFpRE0sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQXZETDtJQW9EUSxzQkFBcUI7SUFDckIsc0J4Rm1DaUQsRXdGbENsRDs7QUF0RFA7RUEwREksYUFBWSxFQUdiO0V0Rm1HRztJc0ZoS047TUEyRHNDLHdCeEY2Qm1CLEV3RjNCdEQsRUFBQTs7QUM3REg7RTFGb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRTBGMURsRTtFdkZtSUs7SXVGM0pOO00xRm9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUwRjFEbEUsRUFBQTtFdkZtSUs7SXVGM0pOO00xRm9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUwRjFEbEUsRUFBQTtFNUZ5SEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RTRGOUpIO0l0RmNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SXdGaEJyQyx3QnpGb0ZxRCxFeUYvRXREO0l2RmtKRztNdUYzSk47UXhGc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXdGWHRDLEVBQUE7SXJGMERDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNdUYzSk47UXRGY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UXdGYm5DLGlCQUFnQixFQUVuQixFQUFBO0V2RmtKRztJdUYzSk47TXhGc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXdGWHRDLEVBQUE7SXZGa0pHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VxRnJFTDtJdEZjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV3Rkx0QztJdkY0SUc7TXVGM0pOO1F4RnNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV3Rkx0QyxFQUFBO0lyRm9EQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXVGM0pOO1F0RmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV3Rkx0QyxFQUFBO0V2RjRJRztJdUYzSk47TXhGc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXdGTHRDLEVBQUE7SXZGNElHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VxRnJFTDtJdEZjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV3RkpzQjtJdkYySXpEO011RjNKTjtReEZzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFd0ZKc0IsRUFBQTtJckZtRDNEO01BQ0UsYVRrQ3NELEVTakN2RDtFcUZyRUw7SUFrQkkseUJ6RnNFcUQ7SXlGckVyRCxpQkFBZ0IsRUFDakI7RUFwQkg7SUFzQmMsaUJBQWdCLEVBQUk7O0FDdEJsQztFQUNDLGtCMUZ1RndEO0UwRnRGdkQsMEJyRHlGK0MsRXFEL0NoRDtFeEYrR0s7SXdGM0pOO01BR2dDLG1CMUZxRnlCLEUwRjVDeEQsRUFBQTtFQTVDRDtJQUlrQixlOUZxREYsRThGckR5QjtFQUN4QztJM0YrRUcsd0JBRitEO0lBRy9ELHVCQUgrRCxFMkYzRWpFO0l4Rm9KSTtNd0Z0Skw7UTNGK0VHLHlCQUYrRDtRQUcvRCx3QkFIK0QsRTJGM0VqRSxFQUFBO0l4Rm9KSTtNd0Z0Skw7UTNGK0VHLHlCQUYrRDtRQUcvRCx3QkFIK0QsRTJGM0VqRSxFQUFBO0k3RjBJQTtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFNkZ0SkY7SXZGTUMsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJeUZWckMseUIxRjhFcUQsRTBGeEV2RDtJeEYySUk7TXdGbkpMO1F6RmNHLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlGSnZDLEVBQUE7SXRGbURFO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNd0ZuSkw7UXZGTUMsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztReUZQbkMsaUJBQWdCLEVBR3BCLEVBQUE7RXhGMklJO0l3Rm5KTDtNekZjRyx5QkFGcUM7TUFHckMsd0JBSHFDLEV5Rkp2QyxFQUFBO0l4RjJJSTtRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJc0Y3REg7TUFPUSxZQUFXLEVBQUk7RUFFeEI7SXZGSEMsWUNlcUQ7SUErQnJELFlUeUN5RDtJ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cUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJZ0doQnJDLHVCakdvRnFELEVpR2xGdEQ7SS9GcUpHO00rRnpKSjtRaEdvQkUseUJBRnFDO1FBR3JDLHdCQUhxQyxFZ0dkdEMsRUFBQTtJN0Y2REM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO00rRnpKSjtRQUdnQyx3QmpHbUZ1QixFaUdsRnRELEVBQUE7RUFDRDtJOUZPQSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVnR1J0QztJL0YrSUc7TStGcEpKO1FoR2VFLHlCQUZxQztRQUdyQyx3QkFIcUMsRWdHUnRDLEVBQUE7STdGdURDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNK0ZwSko7UTlGT0EsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWdHUnRDLEVBQUE7RS9GK0lHO0krRnBKSjtNaEdlRSx5QkFGcUM7TUFHckMsd0JBSHFDLEVnR1J0QyxFQUFBO0kvRitJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFNkZ4REg7STlGQ0EsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJZ0dMckMsb0JqR3lFcUQsRWlHbkV0RDtJL0ZzSUc7TStGOUlKO1FoR1NFLHlCQUZxQztRQUdyQyx3QkFIcUMsRWdHQ3RDLEVBQUE7STdGOENDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNK0Y5SUo7UUFHZ0MscUJqR3dFdUIsRWlHbkV0RCxFQUFBO0kvRnNJRztNK0Y5SUo7UTlGQ0EsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UWdHRG5DLGNBQWEsRUFFaEIsRUFBQTtFL0ZzSUc7SStGOUlKO01oR1NFLHlCQUZxQztNQUdyQyx3QkFIcUMsRWdHQ3RDLEVBQUE7SS9Gc0lHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0U2Ri9DSDtJQUNFLHlCakdpRXFEO0lpR2hFckQsaUJyR2tIc0IsRXFHakh2QjtFQUNEO0lBQ0Usb0JqRzZEcUQsRWlHMUR0RDtJL0Y2SEc7TStGaklKO1FBRWdDLHFCakc0RHVCLEVpRzFEdEQsRUFBQTtJQUpBO01BR1csaUJBQWdCLEVBQUk7O0FDNUJoQztFQUNFLHFCbEdzRnFELEVrRy9FdEQ7RWhHa0pHO0lnRzFKSjtNQUVnQyxvQmxHcUZ1QixFa0cvRXRELEVBQUE7RUFSQTtJQUlHLHNCQUFxQjtJQUNyQix1QmxHa0ZtRDtJa0dqRm5ELHFCbEdpRm1ELEVrR2hGcEQ7O0FDUkw7RXBHb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9HbERsRTtFakcySEs7SWlHM0pOO01wR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvR2xEbEUsRUFBQTtFakcySEs7SWlHM0pOO01wR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvR2xEbEUsRUFBQTtFdEdpSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RXNHOUpIO0loR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SWtHaEJyQyx3Qm5Hb0ZxRCxFbUcvRXREO0lqR2tKRztNaUczSk47UWxHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtHWHRDLEVBQUE7SS9GMERDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNaUczSk47UWhHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UWtHYm5DLGlCQUFnQixFQUVuQixFQUFBO0VqR2tKRztJaUczSk47TWxHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtHWHRDLEVBQUE7SWpHa0pHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UrRnJFTDtJaEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVrR0x0QztJakc0SUc7TWlHM0pOO1FsR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVrR0x0QyxFQUFBO0kvRm9EQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWlHM0pOO1FoR2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVrR0x0QyxFQUFBO0VqRzRJRztJaUczSk47TWxHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtHTHRDLEVBQUE7SWpHNElHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UrRnJFTDtJaEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVrR0pxQjtJakcySXhEO01pRzNKTjtRbEdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFa0dKcUIsRUFBQTtJL0ZtRDFEO01BQ0UsYVRrQ3NELEVTakN2RDtFK0ZyRUw7SUFtQkksd0JuR3FFcUQsRW1HcEV0RDtFQXBCSDtJQXVCSSx3Qm5HaUVxRCxFbUdoRXREO0VBeEJIO0lBMEJJLHlCbkc4RHFEO0ltRzdEckQsaUJ2RytHc0IsRXVHOUd2QjtFQTVCSDtJQThCYyxpQkFBZ0IsRUFBSTs7QUM5QmxDO0VyR29GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEVxR25EbEU7RWxHNEhLO0lrRzNKTjtNckdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUduRGxFLEVBQUE7RWxHNEhLO0lrRzNKTjtNckdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUduRGxFLEVBQUE7RXZHa0hDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0V1RzlKSDtJakdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0ltR2hCckMsd0JwR29GcUQsRW9HaEZ0RDtJbEdtSkc7TWtHM0pOO1FuR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtR1p0QyxFQUFBO0loRzJEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtHM0pOO1FqR2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtR1p0QyxFQUFBO0VsR21KRztJa0czSk47TW5Hc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1HWnRDLEVBQUE7SWxHbUpHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VnR3JFTDtJakdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtR050QztJbEc2SUc7TWtHM0pOO1FuR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtR050QyxFQUFBO0loR3FEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtHM0pOO1FqR2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtR050QyxFQUFBO0VsRzZJRztJa0czSk47TW5Hc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1HTnRDLEVBQUE7SWxHNklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VnR3JFTDtJakdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtR0xxQjtJbEc0SXhEO01rRzNKTjtRbkdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFbUdMcUIsRUFBQTtJaEdvRDFEO01BQ0UsYVRrQ3NELEVTakN2RDtFZ0dyRUw7SUFrQkksd0JwR3NFcUQsRW9HckV0RDtFQW5CSDtJQXNCSSx3QnBHa0VxRCxFb0dqRXREO0VBdkJIO0lBeUJJLHlCcEcrRHFEO0lvRzlEckQsaUJBQWdCLEVBQ2pCO0VBM0JIO0lBNkJjLGlCQUFnQixFQUFJOztBQzdCbEM7RUFFSSx1QnJHc0ZxRCxFcUdqRnREO0VBUEg7SUFJTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBQU5MO0VBU0ksdUJyRytFcUQsRXFHckV0RDtFbkd3SUc7SW1HM0pOO01BV00sYUFBWTtNQUNaLGFyRzRFbUQ7TXFHM0VuRCxxQnJHMkVtRCxFcUdyRXRELEVBQUE7RUFuQkg7SUFnQk0sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QW5HeUlDO0VtRzNKTjtJQXNCTSxhQUFZO0lBQ1osYUFBWTtJQUNaLGFyR2dFbUQ7SXFHL0RuRCxxQnJHK0RtRCxFcUd0RHRELEVBQUE7O0FBbENIO0VBNEJNLGlCQUFnQjtFQUNoQixlQUFjO0V0R3VEaEIsd0JBRitEO0VBRy9ELHVCQUgrRCxFc0dqRDlEO0VuRzBIQztJbUczSk47TXRHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXNHakQ5RCxFQUFBO0VuRzBIQztJbUczSk47TXRHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXNHakQ5RCxFQUFBO0V4R2dISDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFU3pJRDtJQUNFLFlYK0V1RDtJVzlFdkQsWUFBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0UrRnZETDtJQWdDVyx1QnJHd0Q4QyxFcUd4RGY7O0FBaEMxQztFQW9DSSx5QnJHb0RxRCxFcUczQ3REO0VuRzhHRztJbUczSk47TUFxQ2tDLHdCckdtRHVCLEVxRzNDdEQsRUFBQTtFQTdDSDtJQXVDcUIsaUJBQWdCLEVBQUk7RUF2Q3pDO0lBeUNRLDJCQUEwQixFQUUzQjtJQTNDUDtNQTBDa0Isc0JBQXFCLEVBQUk7O0FBMUMzQztFQWdETSxlQUFjO0VBQ2QsaUJBQWdCLEVBS2pCO0VBdERMO0lBbURRLHNCQUFxQjtJQUNyQixzQnJHb0NpRCxFcUduQ2xEOztBQXJEUDtFQXlESSxhQUFZLEVBR2I7RW5Hb0dHO0ltR2hLTjtNQTBEc0Msd0JyRzhCbUIsRXFHNUJ0RCxFQUFBOztBQzVESDtFdkdvRkksd0JBRitEO0VBRy9ELHVCQUgrRCxFdUcxRGxFO0VwR21JSztJb0czSk47TXZHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXVHMURsRSxFQUFBO0VwR21JSztJb0czSk47TXZHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXVHMURsRSxFQUFBO0V6R3lIQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFeUc5Skg7SW5HY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJcUdoQnJDLHdCdEdvRnFELEVzRy9FdEQ7SXBHa0pHO01vRzNKTjtRckdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFcUdYdEMsRUFBQTtJbEcwREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO01vRzNKTjtRbkdjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRcUdibkMsaUJBQWdCLEVBRW5CLEVBQUE7RXBHa0pHO0lvRzNKTjtNckdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFcUdYdEMsRUFBQTtJcEdrSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RWtHckVMO0luR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXFHTHRDO0lwRzRJRztNb0czSk47UXJHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXFHTHRDLEVBQUE7SWxHb0RDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNb0czSk47UW5HY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXFHTHRDLEVBQUE7RXBHNElHO0lvRzNKTjtNckdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFcUdMdEMsRUFBQTtJcEc0SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RWtHckVMO0luR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXFHSnFCO0lwRzJJeEQ7TW9HM0pOO1FyR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVxR0pxQixFQUFBO0lsR21EMUQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0VrR3JFTDtJQWtCSSx5QnRHc0VxRDtJc0dyRXJELGlCQUFnQixFQUNqQjtFQXBCSDtJQXNCYyxpQkFBZ0IsRUFBSTs7QUN0QmxDO0VBRUksd0J2RzJGUztFdUcxRlQsaUJBQWdCLEVBS2pCO0VBUkg7SUFLTSxzQkFBcUI7SUFDckIsdUJ2R2tGbUQsRXVHakZwRDs7QUFFRjtFQUNRLGlCM0c4RGtCLEUyRzlEdUI7O0FBSWhEO0VBQ0Usc0JBQXFCO0VBQ3JCLHdCdkd3RW1ELEV1R3ZFcEQ7O0FBTEY7RUFPRyxzQkFBcUI7RUFDckIsVUFBUztFQUNULGlCQUFnQixFQWdCakI7RUF6QkY7SUFXSyxzQkFBcUI7SUFDckIsaUIzR2dEcUIsRTJHcEN0QjtJQXhCSjtNQWNPLGFBQVk7TUFDWix3QnZHNkQrQztNdUc1RC9DLGlCM0cyQ2dCLEUyRzFDakI7SUFqQk47TUFvQlMsWUFBVztNQUNYLGdCQUFlLEVBQ2hCOztBQ2xDWDtFQUN1Qix1QnhHdUZrQyxFd0d2Rkg7O0FBRHREO0VBR0ksdUJ4R3FGcUQsRXdHaEZ0RDtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCeEc4RXFELEV3R3BFdEQ7RXRHdUlHO0lzRzNKTjtNQVlNLGFBQVk7TUFDWixheEcyRW1EO013RzFFbkQscUJ4RzBFbUQsRXdHcEV0RCxFQUFBO0VBcEJIO0lBaUJNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0F0R3dJQztFc0czSk47SUF1Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixheEcrRG1EO0l3RzlEbkQscUJ4RzhEbUQsRXdHckR0RCxFQUFBOztBQW5DSDtFQTZCTSxpQkFBZ0I7RUFDaEIsZUFBYztFekdzRGhCLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXlHaEQ5RDtFdEd5SEM7SXNHM0pOO016R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV5R2hEOUQsRUFBQTtFdEd5SEM7SXNHM0pOO016R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV5R2hEOUQsRUFBQTtFM0crR0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFa0d2REw7SUFpQ1csdUJ4R3VEOEMsRXdHdkRmOztBQWpDMUM7RUFzQ00sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQTVDTDtJQXlDUSxzQkFBcUI7SUFDckIsc0J4RzhDaUQsRXdHN0NsRDs7QUMzQ1A7RTFHb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRTBHbkRsRTtFdkc0SEs7SXVHM0pOO00xR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUwR25EbEUsRUFBQTtFdkc0SEs7SXVHM0pOO00xR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUwR25EbEUsRUFBQTtFNUdrSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RTRHOUpIO0l0R2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SXdHaEJyQyx3QnpHb0ZxRCxFeUdoRnREO0l2R21KRztNdUczSk47UXhHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXdHWnRDLEVBQUE7SXJHMkRDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNdUczSk47UXRHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXdHWnRDLEVBQUE7RXZHbUpHO0l1RzNKTjtNeEdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFd0dadEMsRUFBQTtJdkdtSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXFHckVMO0l0R2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXdHTnRDO0l2RzZJRztNdUczSk47UXhHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXdHTnRDLEVBQUE7SXJHcURDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNdUczSk47UXRHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXdHTnRDLEVBQUE7RXZHNklHO0l1RzNKTjtNeEdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFd0dOdEMsRUFBQTtJdkc2SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXFHckVMO0l0R2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXdHTHFCO0l2RzRJeEQ7TXVHM0pOO1F4R3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV3R0xxQixFQUFBO0lyR29EMUQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0VxR3JFTDtJQWtCSSx3QnpHc0VxRCxFeUdyRXREO0VBbkJIO0lBc0JJLHdCekdrRXFELEV5R2pFdEQ7RUF2Qkg7SUF5QkkseUJ6RytEcUQ7SXlHOURyRCxpQkFBZ0IsRUFDakI7RUEzQkg7SUE2QmMsaUJBQWdCLEVBQUk7O0FDN0JsQztFQUN1Qix1QjFHdUZrQyxFMEd2Rkg7O0FBRHREO0VBR0ksdUIxR3FGcUQsRTBHaEZ0RDtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCMUc4RXFELEUwR25FdEQ7RXhHc0lHO0l3RzNKTjtNQVlNLGFBQVk7TUFDWixhMUcyRW1EO00wRzFFbkQscUIxRzBFbUQsRTBHbkV0RCxFQUFBO0V4R3NJRztJd0czSk47TUFnQmlDLGExR3dFd0IsRTBHbkV0RCxFQUFBO0VBckJIO0lBa0JNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0F4R3VJQztFd0czSk47SUF3Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixhMUc4RG1EO0kwRzdEbkQscUIxRzZEbUQsRTBHbkR0RCxFQUFBOztBeEdzSEc7RXdHM0pOO0lBNkJpQyxhMUcyRHdCLEUwR25EdEQsRUFBQTs7QUFyQ0g7RUErQk0saUJBQWdCO0VBQ2hCLGVBQWM7RTNHb0RoQix3QkFGK0Q7RUFHL0QsdUJBSCtELEUyRzlDOUQ7RXhHdUhDO0l3RzNKTjtNM0dvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFMkc5QzlELEVBQUE7RXhHdUhDO0l3RzNKTjtNM0dvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFMkc5QzlELEVBQUE7RTdHNkdIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RW9HdkRMO0lBbUNXLHVCMUdxRDhDLEUwR3JEZjs7QUFuQzFDO0VBd0NNLGVBQWM7RUFDZCxpQkFBZ0IsRUFLakI7RUE5Q0w7SUEyQ1Esc0JBQXFCO0lBQ3JCLHNCMUc0Q2lELEUwRzNDbEQ7O0FDN0NQO0U1R29GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEU0RzFEbEU7RXpHbUlLO0l5RzNKTjtNNUdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFNEcxRGxFLEVBQUE7RXpHbUlLO0l5RzNKTjtNNUdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFNEcxRGxFLEVBQUE7RTlHeUhDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0U4RzlKSDtJeEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0kwR2hCckMsd0IzR29GcUQsRTJHL0V0RDtJekdrSkc7TXlHM0pOO1ExR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEUwR1h0QyxFQUFBO0l2RzBEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXlHM0pOO1F4R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDO1EwR2JuQyxpQkFBZ0IsRUFFbkIsRUFBQTtFekdrSkc7SXlHM0pOO00xR3NCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwR1h0QyxFQUFBO0l6R2tKRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFdUdyRUw7SXhHY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFMEdMdEM7SXpHNElHO015RzNKTjtRMUdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFMEdMdEMsRUFBQTtJdkdvREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO015RzNKTjtReEdjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFMEdMdEMsRUFBQTtFekc0SUc7SXlHM0pOO00xR3NCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwR0x0QyxFQUFBO0l6RzRJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFdUdyRUw7SXhHY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFMEdKcUI7SXpHMkl4RDtNeUczSk47UTFHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBHSnFCLEVBQUE7SXZHbUQxRDtNQUNFLGFUa0NzRCxFU2pDdkQ7RXVHckVMO0lBa0JJLHlCM0dzRXFEO0kyR3JFckQsaUJBQWdCLEVBQ2pCO0VBcEJIO0lBc0JjLGlCQUFnQixFQUFJOztBQ3RCbEM7RTdHb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0Q7RTZHaEZqRSx5QjVHc0Z1RCxFNEdqRXhEO0UxR29JSztJMEczSk47TTdHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTZHM0RsRSxFQUFBO0UxR29JSztJMEczSk47TTdHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTZHM0RsRSxFQUFBO0UvRzBIQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFK0czSkQ7SXpHV0EsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFMkdkdEM7STFHcUpHO00wR3hKSjtRM0dtQkUseUJBRnFDO1FBR3JDLHdCQUhxQyxFMkdkdEMsRUFBQTtJeEc2REM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0V3R3JFTDtJekdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEUyR1J0QztJMUcrSUc7TTBHM0pOO1EzR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEUyR1J0QyxFQUFBO0l4R3VEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TTBHM0pOO1F6R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUyR1J0QyxFQUFBO0UxRytJRztJMEczSk47TTNHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTJHUnRDLEVBQUE7STFHK0lHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0V3R3JFTDtJekdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEUyR0V0QztJMUdxSUc7TTBHM0pOO1EzR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEUyR0V0QyxFQUFBO0l4RzZDQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TTBHM0pOO1F6R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUyR0V0QyxFQUFBO0UxR3FJRztJMEczSk47TTNHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTJHRXRDLEVBQUE7STFHcUlHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0l3R3JFTDtNQW1CTSxpQkFBZ0IsRUFFakI7TTFHc0lDO1EwRzNKTjtVQW9CbUMsWUFBVyxFQUN6QyxFQUFBOztBQ3BCSDtFQUFXLHNC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RTJIbUxQOztBQUNsRDtFNUh4TEksd0JBRitEO0VBRy9ELHVCQUgrRCxFNEhvTWxFO0V6SDNISztJeUhpSE47TTVIeExJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTRIb01sRSxFQUFBO0V6SDNISztJeUhpSE47TTVIeExJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTRIb01sRSxFQUFBO0U5SHJJQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFOEhnSEQ7SXhIaFFBLFdDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTBINFB0QztJekhySEc7TXlIbUhKO1ExSHhQRSx5QkFGcUM7UUFHckMsd0JBSHFDLEUwSDRQdEMsRUFBQTtJdkg3TUM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0V1SDRNSDtJeEhuUUEsV0NlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJMEgrUHJDLGlCL0gzTXlCO0krSDRNekIsa0JBQWlCLEVBQ2xCO0l6SDFIRztNeUhzSEo7UTFIM1BFLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBIaVF0QyxFQUFBO0l2SGxOQztNQUNFLGFUa0NzRCxFU2pDdkQ7O0F1SGtOTDtFQUVJLHNCM0hqTXFEO0UySGtNckQsaUJBQWdCO0VBQ2hCLDBCdEZoTTZDO0VzRmlNN0MsYUFBWSxFQVliO0VBakJIO0lBUU0saUJBQWdCO0lBQ2hCLGtCM0h4TW1EO0kySHlNbkQsMEJ0RnRNMkMsRXNGd001QztJekh4SUM7TXlINEhOO1FBV29DLG1CM0gxTXFCLEUySDJNcEQsRUFBQTtFQVpMO0lBY00sNkIzSDdNbUQsRTJIK01wRDtJekg1SUM7TXlINEhOO1FBZW9DLCtCM0g5TXFCLEUySCtNcEQsRUFBQTs7QUFoQkw7RTVIbk1JLHdCQUYrRDtFQUcvRCx1QkFIK0QsRTRIeU5oRTtFekhoSkc7SXlINEhOO001SG5NSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU0SHlOaEUsRUFBQTtFekhoSkc7SXlINEhOO001SG5NSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU0SHlOaEUsRUFBQTtFOUgxSkQ7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7O0E4SHlISDtFeEh6UUUsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFMEg2UnRDO0V6SHRKRztJeUg0SE47TTFIalFJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTBINlJ0QyxFQUFBO0V2SDlPQztJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SXlINEhOO014SHpRRSxXQ2VxRDtNQStCckQsWVR5Q3lEO01NL0V2RCx3QkFGcUM7TUFHckMsdUJBSHFDLEUwSDZSdEMsRUFBQTtFekh0Skc7SXlINEhOO00xSGpRSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwSDZSdEMsRUFBQTtFekh0Skc7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0F1SGtOTDtFQTRCc0IseUIzSDNObUMsRTJIMk5KOztBQTVCckQ7RUE4QkkseUIzSDdOcUQ7RTJIOE5yRCxvQjNIOU5xRCxFMkgrTnREOztBQWhDSDtFQWtDYyxpQkFBZ0IsRUFBSTs7QUFHbEM7RUFBMkIsc0IzSHBPOEIsRTJIb09GOztBQzNUckQ7RUFDRSxpQmhJc0V5QjtFZ0lyRXpCLGVBQWMsRUFDZjs7QUFDRDtFQUNFLG1CNUhrRnFEO0U0SGpGckQsaUJoSWtFb0I7RWdJakVwQixlQUFjLEVBS2Y7RUFSQTtJQUtHLGVBQWM7SUFDZCxpQmhJNkR1QixFZ0k1RHhCOztBQUVIO0VBQ0Usc0I1SHlFcUQ7RTRIeEVyRCxvQjVId0VxRCxFNEh2RXREOztBQUNBO0VqSCtERCxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG1CZm9La0M7RWUxSmhDLDBCWExxRDtFV1F2RCx5QkFBd0I7RUFDeEIsOEJBQTZCO0VBQzdCLG1CZnhCaUI7RWV5QmpCLGtFZnFLdUU7RWVuS3ZFLG9CWGJ1RDtFV2N2RCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBcUNmLDBCZnhGZ0I7RWV5RmhCLGVmL0VhLEVnSTFDVjtFdEkweVNIO0lPN29TRSxXQUFVLEVBQ1g7RWNuQ0Q7SUFDRSwwQmZ5R3VFO0lleEd2RSxlZm5GVyxFZW9GWjs7QWlIMUhEO0U3SDJERSx3QkFGK0Q7RUFHL0QsdUJBSCtEO0U2SHZEL0QseUI1SDZEcUQsRTRIaER0RDtFMUhtSEc7STBIbElKO003SDJERSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU2SDFDaEUsRUFBQTtFMUhtSEc7STBIbElKO003SDJERSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU2SDFDaEUsRUFBQTtFL0h5R0Q7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RStIbElDO0l6SGRGLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTJIYXBDO0kxSDBIQztNMEgvSEY7UTNITkEseUJBRnFDO1FBR3JDLHdCQUhxQyxFMkhhcEMsRUFBQTtJeEhrQ0Q7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO00wSC9IRjtRekhkRixXQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUySGFwQyxFQUFBO0UxSDBIQztJMEgvSEY7TTNITkEseUJBRnFDO01BR3JDLHdCQUhxQyxFMkhhcEMsRUFBQTtJMUgwSEM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXdIbkNEO0l6SHBCRixZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEUySG1CcEM7STFIb0hDO00wSHpIRjtRM0haQSx5QkFGcUM7UUFHckMsd0JBSHFDLEUySG1CcEMsRUFBQTtJeEg0QkQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO00wSHpIRjtRekhwQkYsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFMkhtQnBDLEVBQUE7RTFIb0hDO0kwSHpIRjtNM0haQSx5QkFGcUM7TUFHckMsd0JBSHFDLEUySG1CcEMsRUFBQTtJMUhvSEM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0F3SDVCSDtFQUFVLHdCNUgrQzZDLEU0SC9DZDs7QTFIa0hyQztFMEhqSEo7SUFDZ0MsYUFBWSxFQUMzQyxFQUFBOztBQUNEO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVixpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFBZSx5QjVIc0N3QyxFNEh0Q1Q7O0FBQzdDO0VqSDhCRCxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG1CZm9La0M7RWUxSmhDLDBCWExxRDtFV1F2RCx5QkFBd0I7RUFDeEIsOEJBQTZCO0VBQzdCLG1CZnhCaUI7RWV5QmpCLGtFZnFLdUU7RWVuS3ZFLG9CWGJ1RDtFV2N2RCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBcUNmLDBCZnhGZ0I7RWV5RmhCLGVmL0VhLEVnSVRWO0V0SSsyU0g7SU9udlNFLFdBQVUsRUFDWDtFY25DRDtJQUNFLDBCZnlHdUU7SWV4R3ZFLGVmbkZXLEVlb0ZaOztBaUgxRkg7RUFDRSxrQjVIOEJ1RDtFNEg3QnZELDBCaElJYSxFZ0ltQ2Q7RTFIeURLO0kwSGxHTjtNQUdnQyxtQjVINEJ5QixFNEhVeEQsRUFBQTtFQXJDQztJN0h1QkUsd0JBRitEO0lBRy9ELHVCQUgrRDtJNkhuQi9ELHlCNUh5QnFELEU0SFh0RDtJMUg4RUc7TTBIOUZKO1E3SHVCRSx5QkFGK0Q7UUFHL0Qsd0JBSCtELEU2SExoRSxFQUFBO0kxSDhFRztNMEg5Rko7UTdIdUJFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRTZITGhFLEVBQUE7SS9Ib0VEO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaO0krSDlGQztNekhsREYsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFMkhpRHBDO00xSHNGQztRMEgzRkY7VTNIMUNBLHlCQUZxQztVQUdyQyx3QkFIcUMsRTJIaURwQyxFQUFBO014SEZEO1FBQ0UsYVRrQ3NELEVTakN2RDtNRnNGQztRMEgzRkY7VXpIbERGLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUMsRTJIaURwQyxFQUFBO0UxSHNGQztJMEgzRkY7TTNIMUNBLHlCQUZxQztNQUdyQyx3QkFIcUMsRTJIaURwQyxFQUFBO00xSHNGQztVRXhGRjtZQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJd0hDRDtNekh4REYsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFMkh3RHBDO00xSCtFQztRMEhyRkY7VTNIaERBLHlCQUZxQztVQUdyQyx3QkFIcUMsRTJId0RwQyxFQUFBO014SFREO1FBQ0UsYVRrQ3NELEVTakN2RDtNRnNGQztRMEhyRkY7VXpIeERGLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUM7VTJIc0RqQyxrQkFBaUIsRUFFcEIsRUFBQTtFMUgrRUM7STBIckZGO00zSGhEQSx5QkFGcUM7TUFHckMsd0JBSHFDLEUySHdEcEMsRUFBQTtNMUgrRUM7VUV4RkY7WUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXdIU0Y7SUFFRyx3QjVIUW1EO0k0SFBuRCxvQjVIT21ELEU0SE5wRDtFQUVIO0lBQ0Usc0I1SEdxRDtJNEhGckQsb0I1SEVxRDtJNEhEckQsaUJoSWZ5QjtJZ0lnQnpCLGVBQWMsRUFDZjtFQUNEO0lBQ0UsY0FBYSxFQU1kO0kxSDBERztNMEhqRUo7UUFFZ0MsZUFBYyxFQUs3QyxFQUFBO0lBUEE7TUFJRywyQkFBMEIsRUFFM0I7TUFORjtRQUthLHNCQUFxQixFQUFJOztBQUl6QztFQUNFLG1CQUFrQjtFQUNsQixrQjVIYnVEO0U0SGN2RCxrQjVIZHVEO0U0SGV2RCxtREFBa0Q7RUFDbEQsNEJBQTJCO0VBQzNCLGdDNUhqQnVEO0U0SGtCdkQsdUI1SGxCdUQ7RTRIbUJ2RCxpQkFBZ0IsRUFhakI7RUFaQztJQUNFLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBTztJQUNQLFNBQVE7SUFDUixrQjVIekJxRDtJNEgwQnJELG1EQUFrRDtJQUNsRCw2QkFBNEI7SUFDNUIsNEJBQTJCO0lBQzNCLCtCNUg3QnFEO0k0SDhCckQsdUI1SDlCcUQsRTRIK0J0RDs7QXhHZUQ7RXlHcklBLGlCQUFnQixFQTZFakI7RUE5RUQ7SUFJTSxlakkyRFM7SWlJMURULGlCakltRXVCO0lpSWxFdkIsMEJqSWdEYyxFaUkxQ2Y7SUFaTDtNQVFRLGlCQUFnQjtNQUNoQixtQkFBa0I7TUFDbEIscUJBQW9CLEVBQ3JCO0VBWFA7OztJQWdCTSxlakkrQ1M7SWlJOUNULDBCaklvQ1ksRWlJbkNiO0VBbEJMO0lBb0JNLG1CQUFrQixFQWtCbkI7STNIcUhDO00ySDNKTjtRQXVCVSxtQkFBa0I7UUFDbEIsVUFBUztRQUNULGU3SCtEK0M7UTZIOUQvQyxxQjdIOEQrQztRNkg3RC9DLFlBQVc7UUFDWCxlQUFjO1FBQ2QsU0FBUTtRQUNSLFVBQVM7UUFDVCw4QkFBNEI7UUFDNUIsbUNBQWtDO1FBQ2xDLG9DQUFtQztRQUNuQyw4QmpJbUJRO1FpSWxCUixhQUFZLEVBRWYsRUFBQTtFQXJDUDtJQXVDcUMsV0FBVSxFQUFJO0VBRWhEO0lBR0sscUI3SDRDaUQ7STZIM0NqRCxpQkFBZ0I7SUFDaEIsd0I3SDBDaUQ7STZIekNqRCxlaklnQk87SWlJZlAsaUJqSXVCa0I7SWlJdEJsQiwwQkFBeUIsRUFhMUI7SUFyQko7TUFVTyxlaklZSztNaUlYTCwwQkFBeUIsRUFDMUI7SUFaTjtNQWNPLGVBQWM7TUFDZCxRQUFPLEVBQ1I7SUFoQk47TUFrQk8saUJqSWFtQjtNaUlabkIsYUFBWSxFQUNiO0VBcEJOOzs7SUF5QkssZWpJSE87SWlJSVAsMEJBQXlCLEVBQzFCO0VBM0JKO0lBNkJnQixjQUFhLEVBQUk7RUE3QmpDO0lBZ0NLLGVBQWM7SUFDZCx3QjdIY2lELEU2SGJsRDs7QXhHZ0JMO0V0Qk1BLGtCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFSWpEbkIsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQztFNkhsQnZDLGlCQUFnQixFQWtDakI7RWpJNkdDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VLSEc7SW1CaEVKO01wQnJFRSx5QkFGcUM7TUFHckMsd0JBSHFDLEU2SGdCeEMsRUFBQTtFMUgrQkc7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VBYUg7SUFFRSxZQUFXLEVBQ1o7RWlCbENEO0l5Ry9DRSxxQjlIb0ZxRDtJOEhuRnJELDJCQUEwQixFQThCM0I7SUFuQ0g7TUFPTSxlbEl3RFM7TWtJdkRULHVCQUFzQixFQUV2QjtNQVZMO1FBU2dCLHNCbEk2SW1CLEVrSTdJK0I7SUFUbEU7TUFZTSxlbEltRFM7TWtJbERULHVCQUFzQixFQUN2QjtJekdvREM7TXlHbERBLGlCQUFnQjtNQUNoQixtQjlIdUVtRDtNOEh0RW5ELGVsSTZDUztNa0k1Q1QsWUFBVztNQUNYLDhCQUE2QjtNQUM3QixvQkFBbUI7TUFDbkIsbUJBQWtCO01BQ2xCLG1CQUFrQjtNQUNsQixlQUFjO01BQ2QsdUJBQXNCO01BQ3RCLHFCQUFvQjtNQUNwQixzQkFBcUI7TUFDckIsb0JBQW1CO01BQ25CLGtCQUFpQjtNQUNqQixlQUFjO01BQ2Qsc0NBQXFDO01BQ3JDLG9DQUFtQztNQUNuQyx1QkFBc0IsRUFDdkI7O0F0SXVaRDtFdUl6YksscUJBQW9CLEVBQUk7O0FwSG1QL0I7RW9IalBBLHFCQUFvQjtFQUNwQixpQm5JcUUyQjtFbUlwRTNCLG1CbklzRWlCLEVtSWRsQjtFQXZEQztJcEg0RUEsc0JBQXFCO0lBQ3JCLHVCQUFzQjtJQUN0QixtQmZvS2tDO0llMUpoQywwQlhMcUQ7SVdRdkQseUJBQXdCO0lBQ3hCLDhCQUE2QjtJQUM3QixtQmZ4QmlCO0lleUJqQixrRWZxS3VFO0llbkt2RSxvQlhidUQ7SVdjdkQsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixnQkFBZTtJQXFDZiwwQmZwRmM7SWVxRmQsZWYvRWEsRW1JeERaO0l6STJwVEM7TU9oL1NBLFdBQVUsRUFDWDtJY25DRDtNQUNFLDBCQVBvRjtNQVFwRixlZm5GVyxFZW9GWjtFb0gzSUQ7SUFDRSxVQUFTO0lBQ1QsaUIvSDhFcUQ7SStIN0VyRCwwQm5JMENjO0ltSXpDZCxtQkFBa0IsRUFNbkI7SUFWQTtNQU1HLGVuSWlEUztNbUloRFQsb0IvSHlFbUQ7TStIeEVuRCx1QkFBc0IsRUFDdkI7RUFFSDtJcEg4REEsc0JBQXFCO0lBQ3JCLHVCQUFzQjtJQUN0QixtQmZvS2tDO0llMUpoQywwQlhMcUQ7SVdRdkQseUJBQXdCO0lBQ3hCLDhCQUE2QjtJQUM3QixtQmZ4QmlCO0lleUJqQixrRWZxS3VFO0llbkt2RSxvQlhidUQ7SVdjdkQsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixnQkFBZTtJQXFDZiwwQmZ4RmdCO0lleUZoQixlZi9FYTtJbUl6Q1gsaUJBQWdCLEVBQ2pCO0l6SXlxVEM7TU85Z1RBLFdBQVUsRUFDWDtJY25DRDtNQUNFLDBCQVBvRjtNQVFwRixlZm5GVyxFZW9GWjtFb0gzSEQ7SXBIeURBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmb0trQztJZTFKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsbUJmeEJpQjtJZXlCakIsa0VmcUt1RTtJZW5LdkUsb0JYYnVEO0lXY3ZELGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsZ0JBQWU7SUFxQ2YsMEJmN0VZO0llOEVaLGVmL0VhO0ltSXJDWCxZQUFXO0lBQ1gsaUJBQWdCLEVBQ2pCO0l6STByVEM7TU9waVRBLFdBQVUsRUFDWDtJY25DRDtNQUNFLDBCQVBvRjtNQVFwRixlZm5GVyxFZW9GWjtFb0h0SEQ7SXBIb0RBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmb0trQztJZTFKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsbUJmeEJpQjtJZXlCakIsa0VmcUt1RTtJZW5LdkUsb0JYYnVEO0lXY3ZELGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsZ0JBQWU7SUFxQ2YsMEJmeEZnQjtJZXlGaEIsZWYvRWE7SW1JaENYLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsMEIvSHVEcUQ7SStIdERyRCxpQm5Jc0N5QixFbUlyQzFCO0l6STJzVEM7TU81alRBLFdBQVUsRUFDWDtJY25DRDtNQUNFLDBCQVBvRjtNQVFwRixlZm5GVyxFZW9GWjtFb0gvR0Q7SXBINkNBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmb0trQztJZTFKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsbUJmeEJpQjtJZXlCakIsa0VmcUt1RTtJZW5LdkUsb0JYYnVEO0lXY3ZELGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsZ0JBQWU7SUFxQ2YsMEJmdkZrQjtJZXdGbEIsZWYvRWE7SW1JekJYLGlCbklrQ3lCLEVtSWpDMUI7SXpJNHRUQztNT2psVEEsV0FBVSxFQUNYO0ljbkNEO01BQ0UsMEJBUG9GO01BUXBGLGVmbkZXLEVlb0ZaO0VvSDNHRDtJQUNFLDBCL0grQ3FEO0krSDlDckQsZ0IvSDhDcUQsRStIN0N0RDtFQUNEO0lBQ0UseUIvSDJDcUQ7SStIMUNyRCxvQi9IMENxRCxFK0h6Q3REO0VBQ0Q7SUFDRSxpQkFBZ0I7SUFDaEIsMEJuSUdjO0ltSUZkLGVuSVlXLEVtSVhaO0VBQ0Q7SUFDRSxpQkFBZ0I7SUFDaEIsMEJuSVFXLEVtSVBaO0VBQ0Q7SXBId0JBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmb0trQztJZTFKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsbUJmeEJpQjtJZXlCakIsa0VmcUt1RTtJZW5LdkUsb0JYYnVEO0lXY3ZELGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsZ0JBQWU7SUFxQ2YsMEJmN0VZO0llOEVaLGVmL0VhLEVtSUpaO0l6SXl1VEM7TU9sblRBLFdBQVUsRUFDWDtJY25DRDtNQUNFLDBCQVBvRjtNQVFwRixlZm5GVyxFZW9GWjs7QXFIbkpIO0VqSWlHRSxrQkNUdUQ7RUQxQnJELG1CQUFrQjtFQUNsQixrQkFBaUI7RUlqRG5CLFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUM7RStIbEJ2QyxtQkFBa0IsRUFXbkI7RW5Jb0lDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VLSEc7SThIM0pOO00vSHNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUrSFB4QyxFQUFBO0U1SHNERztJQUNFLGFUa0NzRCxFU2pDdkQ7RUFhSDtJQUVFLFlBQVcsRUFDWjtFRnNFRztJOEgzSk47TUFJa0Msc0JBQXFCLEVBQ3BELEVBQUE7RTlIc0pHO0k4SHJKSjtNQUNnQyxvQmhJaUZ1QixFZ0k1RXRELEVBQUE7RUFOQTtJQUdHLGVwSXNEUztJb0lyRFQsaUJwSThEdUIsRW9JN0R4Qjs7QUNYTDtFQUNFLHVCakl1RnVEO0VpSXRGdkQsbUJqSXNGdUQsRWlJakZ4RDtFQVBEO0lBSUksd0JqSW9GcUQsRWlJbEZ0RDtJQU5IO01BS3FCLFVBQVMsRUFBSTs7QXhFTGxDO0V5RUVJLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIscUJBQW9CO0VBQ3BCLHNCQUFxQjtFQUNyQixvQkFBbUI7RUFDbkIsa0JBQWlCO0VBQ2pCLGVBQWM7RUFDZCxzQ0FBcUM7RUFDckMsb0NBQW1DO0VBQ25DLHVCQUFzQixFQUN2Qjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsMkJBQTBCO0VBQzFCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsMkJBQTBCO0VBQzFCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQixFQUNqQjs7QXpFQ0Q7RXlFQ0UsOEJBQTZCO0VBQzdCLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDakI7O0F6RUNEO0V5RUNFLDJCQUEwQjtFQUMxQixpQkFBZ0IsRUFDakI7O0F6RUNEO0V5RUNFLDhCQUE2QjtFQUM3QixpQkFBZ0IsRUFDakI7O0F6RUNEO0V5RUNFLDhCQUE2QjtFQUM3QixpQkFBZ0IsRUFDakI7O0F6RUNEO0V5RUNFLDhCQUE2QjtFQUM3QixpQkFBZ0IsRUFDakI7O0F6RUNEO0V5RUNFLDhCQUE2QjtFQUM3QixpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSwyQkFBMEI7RUFDMUIsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBekVIRDtFeUVLRSwyQkFBMEI7RUFDMUIsaUJBQWdCLEVBQ2pCOztBQ3ZKRDtFQUNFLFVBQVM7RUFDVCxpQkFBZ0IsRUFDakI7O0FBQ0Q7RXBJNEZBLGtCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFSWpEbkIsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQztFa0lickMsc0JuSWlGcUQ7RW1JaEZyRCx5Qm5JZ0ZxRDtFbUkvRXJELDBCQUE4QyxFQUsvQztFdEltSUQ7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUtIRztJaUl0Sko7TWxJaUJFLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtJTnRDLEVBQUE7RS9IcURDO0lBQ0UsYVRrQ3NELEVTakN2RDtFQWFIO0lBRUUsWUFBVyxFQUNaO0VGc0VHO0lpSXRKSjtNQU1JLHNCbkk2RW1EO01tSTVFbkQseUJuSTRFbUQsRW1JMUV0RCxFQUFBOztBQUNEO0VwSWtGQSxrQkNUdUQ7RUQxQnJELG1CQUFrQjtFQUNsQixrQkFBaUI7RUlqRG5CLFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUM7RWtJSHJDLHNCbkl1RXFELEVtSS9EdEQ7RXRJd0hEO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VLSEc7SWlJNUlKO01sSU9FLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtJS3RDLEVBQUE7RS9IMENDO0lBQ0UsYVRrQ3NELEVTakN2RDtFQWFIO0lBRUUsWUFBVyxFQUNaO0UrSHRFQTtJQUlHLG1CQUFrQixFQUtuQjtJQVRGO01BTUssc0JBQXFCO01BQ3JCLGtCbklrRWlELEVtSWpFbEQ7O0FBR0o7RXBJMERDLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9JaEQ5RDtFakl5SEM7SWlJaklIO01wSTBEQyx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvSWhEOUQsRUFBQTtFakl5SEM7SWlJaklIO01wSTBEQyx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvSWhEOUQsRUFBQTtFdEkrR0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFNkg3QkY7SUFLSyx3Qm5JeURpRCxFbUl2RGxEO0lqSTBIRDtNaUlqSUg7UUFNbUMseUJuSXdEbUIsRW1JdkRsRCxFQUFBOztBQUdKO0VwSWdEQyx3QkFGK0Q7RUFHL0QsdUJBSCtELEVvSXpDOUQ7RWpJa0hDO0lpSXZISDtNcElnREMseUJBRitEO01BRy9ELHdCQUgrRCxFb0l6QzlELEVBQUE7RWpJa0hDO0lpSXZISDtNcElnREMseUJBRitEO01BRy9ELHdCQUgrRCxFb0l6QzlELEVBQUE7RXRJd0dIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RTZIbkJGO0lBSVksdUJuSWdEMEMsRW1JaERYOztBQUczQztFcEl5Q0Msd0JBRitEO0VBRy9ELHVCQUgrRCxFb0l6QjlEO0VqSWtHQztJaUloSEg7TXBJeUNDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRW9JekI5RCxFQUFBO0VqSWtHQztJaUloSEg7TXBJeUNDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRW9JekI5RCxFQUFBO0V0SXdGSDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFU3pJRDtJQUNFLFlYK0V1RDtJVzlFdkQsWUFBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0U2SFpGO0lBUUssdUJuSXFDaUQsRW1JaENsRDtJakltR0Q7TWlJaEhIO1FBU21DLHdCbklvQ21CLEVtSWhDbEQsRUFBQTtJQWJKO01BV08saUJBQWdCLEVBQ2pCOztBaklvR0g7RWlJaEdIO0lwSXlCQyx3QkFGK0Q7SUFHL0QsdUJBSCtEO0lvSW5CM0Qsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUFjbEIsRUFBQTtFakk2RUM7SWlJaEdIO01wSXlCQyx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvSUo5RCxFQUFBO0VqSTZFQztJaUloR0g7TXBJeUJDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRW9JSjlELEVBQUE7O0FqSTZFQztJTFZKO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaLEVBQUE7O0FzSW5HQTtFQWNLLHdCbkllaUQsRW1JWGxEO0VqSThFRDtJaUloR0g7TUFTTyx5QkFBZ0I7VUFBaEIscUJBQWdCO2NBQWhCLGlCQUFnQjtNQUNoQix3Qm5JbUIrQztNbUlsQi9DLHlCbklrQitDO01tSWpCL0Msd0JuSWlCK0MsRW1JWGxELEVBQUE7RWpJbUZEO0lpSXJHSDtNQWdCeUMsaUJBQWdCLEVBQ25ELEVBQUE7O0FBSU47RUFDa0IsbUJBQWtCLEVBQUk7O0FBRHhDO0VwSUlDLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9JTzlEO0VqSWtFQztJaUkzRUg7TXBJSUMseUJBRitEO01BRy9ELHdCQUgrRCxFb0lPOUQsRUFBQTtFaklrRUM7SWlJM0VIO01wSUlDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRW9JTzlELEVBQUE7RXRJd0RIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RTZIeUJGO0lBTUssdUJuSUVpRCxFbUlBbEQ7SWpJbUVEO01pSTNFSDtRQU9tQyx3Qm5JQ21CLEVtSUFsRCxFQUFBOztBQUdKO0VwSVBDLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9JWTlEO0VqSTZEQztJaUloRUg7TXBJUEMseUJBRitEO01BRy9ELHdCQUgrRCxFb0lZOUQsRUFBQTtFakk2REM7SWlJaEVIO01wSVBDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRW9JWTlELEVBQUE7RXRJbURIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaOztBc0luRUE7RWhJN0VELFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRWtJOEVwQztFakl5REM7SWlJaEVIO01sSXJFQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSThFcEMsRUFBQTtFL0gvQkQ7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0lpSWhFSDtNaEk3RUQsaUJDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUMsRWtJOEVwQyxFQUFBO0VqSXlEQztJaUloRUg7TWxJckVDLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtJOEVwQyxFQUFBO0VqSXlEQztNRXhGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QStIc0JGO0VoSTdFRCxZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEVrSWlGcEM7RWpJc0RDO0lpSWhFSDtNbElyRUMseUJBRnFDO01BR3JDLHdCQUhxQyxFa0lpRnBDLEVBQUE7RS9IbENEO0lBQ0UsYVRrQ3NELEVTakN2RDs7QStIc0JGO0VoSTdFRCxZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEVrSXdGcEM7RWpJK0NDO0lpSWhFSDtNbElyRUMseUJBRnFDO01BR3JDLHdCQUhxQyxFa0l3RnBDLEVBQUE7RS9IekNEO0lBQ0UsYVRrQ3NELEVTakN2RDtFRnNGQztJaUloRUg7TWhJN0VELGlCQ2VxRDtNQStCckQsWVR5Q3lEO01NL0V2RCx3QkFGcUM7TUFHckMsdUJBSHFDLEVrSXdGcEMsRUFBQTtFakkrQ0M7SWlJaEVIO01sSXJFQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSXdGcEMsRUFBQTtFakkrQ0M7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RStIc0JGO0lwSVBDLHdCQUYrRDtJQUcvRCx1QkFIK0QsRW9JdUJOO0lqSWtEdkQ7TWlJaEVIO1FwSVBDLHlCQUYrRDtRQUcvRCx3QkFIK0QsRW9JdUJOLEVBQUE7SWpJa0R2RDtNaUloRUg7UXBJUEMseUJBRitEO1FBRy9ELHdCQUgrRCxFb0l1Qk4sRUFBQTtJdEl3QzNEO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaO0VzSW5FQTtJaEk3RUQsaUJDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRWtJc0ZzQjtJaklpRHpEO01pSWhFSDtRbElyRUMseUJBRnFDO1FBR3JDLHdCQUhxQyxFa0lzRnNCLEVBQUE7SS9IdkMzRDtNQUNFLGFUa0NzRCxFU2pDdkQ7RStIc0JGO0loSTdFRCxpQkNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFa0l1RnlCO0lqSWdENUQ7TWlJaEVIO1FsSXJF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QkFIcUMsRWtJa1BwQztFakkzR0M7SWlJOEVIO01sSW5OQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSWtQcEMsRUFBQTtFL0huTUQ7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0lpSThFSDtNaEkzTkQsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFa0lrUHBDLEVBQUE7RWpJM0dDO0lpSThFSDtNbEluTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFa0lrUHBDLEVBQUE7RWpJM0dDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBK0hvS0Y7RWhJM05ELFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRWtJcVBwQztFakk5R0M7SWlJOEVIO01sSW5OQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSXFQcEMsRUFBQTtFL0h0TUQ7SUFDRSxhVGtDc0QsRVNqQ3ZEOztBK0hvS0Y7RWhJM05ELFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRWtJa1FwQztFakkzSEM7SWlJOEVIO01sSW5OQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSWtRcEMsRUFBQTtFL0huTkQ7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0lpSThFSDtNQXFDTyxpQkFBZ0I7TUFDaEIsYUFBWSxFQUNiLEVBQUE7RWpJckhIO0lpSThFSDtNaEkzTkQsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFa0lrUXBDLEVBQUE7RWpJM0hDO0lpSThFSDtNbEluTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFa0lrUXBDLEVBQUE7RWpJM0hDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UrSG9LRjtJcElySkMsd0JBRitEO0lBRy9ELHVCQUgrRCxFb0lpTU47SWpJeEh2RDtNaUk4RUg7UXBJckpDLHlCQUYrRDtRQUcvRCx3QkFIK0QsRW9JaU1OLEVBQUE7SWpJeEh2RDtNaUk4RUg7UXBJckpDLHlCQUYrRDtRQUcvRCx3QkFIK0QsRW9JaU1OLEVBQUE7SXRJbEkzRDtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFc0kyRUE7SWhJM05ELGlCQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVrSWdRc0I7SWpJekh6RDtNaUk4RUg7UWxJbk5DLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtJZ1FzQixFQUFBO0kvSGpOM0Q7TUFDRSxhVGtDc0QsRVNqQ3ZEO0UrSG9LRjtJaEkzTkQsaUJDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRWtJaVF5QjtJakkxSDVEO01pSThFSDtRbEluTkMseUJBRnFDO1FBR3JDLHdCQUhxQyxFa0lpUXlCLEVBQUE7SS9IbE45RDtNQUNFLGFUa0NzRCxFU2pDdkQ7O0ErSG9LRjtFaEkzTkQsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFa0l1UXBDO0VqSWhJQztJaUk4RUg7TWxJbk5DLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtJdVFwQyxFQUFBO0UvSHhORDtJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SWlJOEVIO01BZ0RnQyxjQUFhLEVBRTNDLEVBQUE7RUFsREY7SUFpRGEsWUFBVyxFQUFJOztBQWpENUI7RWhJM05ELFdDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRWtJd1EwQjtFaklqSTdEO0lpSThFSDtNbEluTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFa0l3UTBCLEVBQUE7RS9Iek4vRDtJQUNFLGFUa0NzRCxFU2pDdkQ7O0ErSG9LRjtFaEkzTkQsV0NlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFa0k2UXBDO0VqSXRJQztJaUk4RUg7TWxJbk5DLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtJNlFwQyxFQUFBO0UvSDlORDtJQUNFLGFUa0NzRCxFU2pDdkQ7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QWlCO0lvSk1qQixzQm5KbUJxRCxFbUo2QnREO0l0SjRCRDtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtJS0hHO01pSjNKTjtRQXVFTSxzQm5KaUJtRCxFbUo2QnRELEVBQUE7SUFySEg7TWhKY0UsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNa0p1RG5DLHVCbkphbUQsRW1KSnBEO01qSnVFQztRaUozSk47VWxKc0JJLHlCQUZxQztVQUdyQyx3QkFIcUMsRWtKZ0VwQyxFQUFBO00vSWpCRDtRQUNFLGFUa0NzRCxFU2pDdkQ7TUZzRkM7UWlKM0pOO1VoSmNFLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUM7VWtKMERqQyxpQm5KZUssRW1KVFIsRUFBQTtFakp1RUM7SWlKM0pOO01sSnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEVrSmdFcEMsRUFBQTtNakp1RUM7VUV4RkY7WUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7TStJckVMO1FBaUZRLFVBQVM7UUFDVCxpQkFBZ0IsRUFDakI7SUFuRlA7TWhKY0UsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFa0oyRXBDO01qSjREQztRaUozSk47VWxKc0JJLHlCQUZxQztVQUdyQyx3QkFIcUMsRWtKMkVwQyxFQUFBO00vSTVCRDtRQUNFLGFUa0NzRCxFU2pDdkQ7TUZzRkM7UWlKM0pOO1VoSmNFLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUMsRWtKMkVwQyxFQUFBO0VqSjREQztJaUozSk47TWxKc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtKMkVwQyxFQUFBO01qSjREQztVRXhGRjtZQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtNK0lyRUw7UUEyRlEsaUJBQWdCO1FBQ2hCLGVBQWM7UUFDZCxpQkFBZ0IsRUFDakI7SUE5RlA7TUFrR1EsaUJuSkxLLEVtSmVOO01qSitDRDtRaUozSk47VWhKY0UsWUNlcUQ7VUErQnJELFlUeUN5RDtVTS9FdkQsd0JBRnFDO1VBR3JDLHVCQUhxQyxFa0p3RmxDLEVBQUE7RWpKK0NEO0lpSjNKTjtNbEpzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFa0p3RmxDLEVBQUE7TWpKK0NEO1VFeEZGO1lBQ0UsYVRrQ3NELEVTakN2RDtVK0lyRUw7WUFzR1kscUJuSmQ2QztZbUplN0Msa0JBQWlCO1lBQ2pCLFlBQVc7WUFDWCx3QkFBdUIsRUFDeEIsRUFBQTtJakppREw7TWlKM0pOO1FoSmNFLFlDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWtKK0ZsQyxFQUFBO0VqSndDRDtJaUozSk47TWxKc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWtKK0ZsQyxFQUFBO0lqSndDRDtRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFK0lyRUw7SUF1SEksbUJBQWtCLEVBU25CO0lBaElIO01BeUhNLGVBQWM7TUFDZCxpQkFBZ0IsRUFLakI7TUEvSEw7UUE0SFEsc0JBQXFCO1FBQ3JCLG1CbkpyQ2lELEVtSnNDbEQ7RUE5SFA7SUFrSUksc0JuSjFDcUQ7SW1KMkNyRCx5Qm5KM0NxRDtJbUo0Q3JELDBCdkpuRXFCLEV1SndFdEI7SWpKa0JHO01pSjNKTjtRQXNJTSxzQm5KOUNtRDtRbUorQ25ELHlCbkovQ21ELEVtSmlEdEQsRUFBQTs7QUN6SUg7RUFDRSx3QnBKdUZ1RDtFb0p0RnZELGlCQUFnQixFQThJakI7RWxKV0s7SWtKM0pOO01BR2dDLHlCcEpxRnlCLEVvSndEeEQsRUFBQTtFbEpXSztJa0ozSk47TUFLSSxtQnhKcUVlLEV3SnNFbEIsRUFBQTtFQXpJQztJQUNFLHNCQUFxQjtJQUNyQixZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLHNDcEo2RXFEO0lvSjVFckQsMEJ4SjBDZ0I7SXdKekNoQixvQkFBbUIsRUFXcEI7SUFqQkE7TUFRRyxZQUFXO01BQ1gsc0JwSndFbUQ7TW9KdkVuRCx5QnBKdUVtRDtNb0p0RW5ELGV4SjZD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SEg7SXhKaUdFLGtCQ1R1RDtJRDFCckQsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJSWpEbkIsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsaUJEdUVTO0lDdEVULGdCRHNFUztJdUpGUCx3QnZKSG1ELEV1SklwRDtJMUpxREg7TUFFRSxlQUFjO01BQ2QsYUFBWSxFQU1iO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SU8zRkM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lBYUg7TUFFRSxZQUFXLEVBQ1o7RW1KckZIO0lwSmNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELGlCRHVFUztJQ3RFVCxnQkRzRVM7SXVKRVAsZUFBYyxFQVVmO0luSnRDRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXFKM0pOO1FwSmNFLFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELGlCRHVFUztRQ3RFVCxnQkRzRVM7UXVKS0wsaUJBQWdCLEVBT25CO1FuSnRDRDtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJbUpyRUw7TUFxR1EsZUFBYztNQUNkLGtCdkpkaUQ7TXVKZWpELGlCM0poQ2tCLEUySmlDbkI7RUF4R1A7SXBKY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsaUJEdUVTO0lDdEVULGdCRHNFUyxFdUptQlI7SW5KN0NEO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNcUozSk47UXBKY0UsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsaUJEdUVTO1FDdEVULGdCRHNFUztRdUppQkwsa0JBQWlCLEVBRXBCO1FuSjdDRDtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QW1KckVMO0VBbUhJLHdCdkozQnFELEV1SnNFdEQ7RUE5Skg7SUFxSE0sVUFBUztJQUNULGlCQUFnQjtJQUNoQixrQkFBYTtJQUFiLGNBQWE7SUFDYixzQkFBMEI7UUFBMUIsMkJBQTBCLEVBcUIzQjtJckpjQztNcUozSk47UUEwSFEsMEJBQThCO1lBQTlCLCtCQUE4QjtRQUM5QixldkpuQ2lELEV1SnFEcEQsRUFBQTtJQTdJTDtNQThIUSxvQjNKN0RpQjtN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bUJBQWtCLEVBS25CO0UzSjRJRztJMkpuSko7TTVKY0UseUJBRnFDO01BR3JDLHdCQUhxQyxFNEpMdEMsRUFBQTtFekpvREM7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0kySm5KSjtNMUpNQSxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNNEpQbkMsaUJBQWdCLEVBRW5CLEVBQUE7RTNKNElHO0kySm5KSjtNNUpjRSx5QkFGcUM7TUFHckMsd0JBSHFDLEU0Skx0QyxFQUFBO0UzSjRJRztNRXhGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QXlKckRIO0UxSkZBLFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRTRKRHRDO0UzSndJRztJMkozSUo7TTVKTUUseUJBRnFDO01BR3JDLHdCQUhxQyxFNEpEdEMsRUFBQTtFekpnREM7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0kySjNJSjtNMUpGQSxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFNEpEdEMsRUFBQTtFM0p3SUc7STJKM0lKO001Sk1FLHlCQUZxQztNQUdyQyx3QkFIcUMsRTRKRHRDLEVBQUE7RTNKd0lHO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBeUpoREw7RUFHTSxjQUFhLEVBRWQ7RTNKaUlDO0kySnRJTjtNQUltQyxlQUFjLEVBQzVDLEVBQUE7O0FDMUJMO0VBQ0UsbUJBQWtCLEVBK0RuQjtFQWpEQztJQUdFLHNCOUpzRXFEO0k4SnJFckQseUI5SnFFcUQ7SThKcEVyRCwwQmxLNkNxQixFa0t4Q3RCO0k1SmtJRztNNEo1SUo7UUFPSSxlQUFjO1FBQ2QseUI5SmlFbUQsRThKL0R0RCxFQUFBO0VBQ0E7SS9KdUVELGtCQ1R1RDtJRDFCckQsbUJBQWtCO0lBQ2xCLGtCQUFpQixFK0pwQ3VCO0lqS3NIMUM7TUFFRSxlQUFjO01BQ2QsYUFBWSxFQU1iO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7RWlLcElBO0kzSlpELFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTZKY3BDO0k1SnlIQztNNEpqSUg7UTdKSkMseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkpjcEMsRUFBQTtJMUppQ0Q7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO000SmpJSDtRM0paRCxXQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDO1FJTHJDLG1CQUFrQjtRQUNsQixXQUhtRCxFeUpxQmxELEVBQUE7RTVKeUhDO0k0SmpJSDtNN0pKQyx5QkFGcUM7TUFHckMsd0JBSHFDLEU2SmNwQyxFQUFBO0k1SnlIQztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFMEozQ0Y7STNKWkQsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkpxQnBDO0k1SmtIQztNNEpqSUg7UTdKSkMseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkpxQnBDLEVBQUE7STFKMEJEO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNNEpqSUg7UTNKWkQsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRSUxyQyxtQkFBa0I7UUFDbEIsVUFIbUQsRXlKNEJsRCxFQUFBO0U1SmtIQztJNEpqSUg7TTdKSkMseUJBRnFDO01BR3JDLHdCQUhxQyxFNkpxQnBDLEVBQUE7STVKa0hDO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UwSjFCRjtJL0pzREQsa0JDVHVEO0lEMUJyRCxtQkFBa0I7SUFDbEIsa0JBQWlCLEUrSm5CdUI7SWpLcUcxQztNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFaUtuSEE7SUFHRyxjQUFhLEVBTWQ7STVKdUdDO000SmhISDtRM0o3QkQsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRSUxyQyxtQkFBa0I7UUFDbEIsV0FIbUQ7UXlKcUMvQyxlQUFjLEVBRWpCLEVBQUE7RTVKdUdDO0k0SmhISDtNN0pyQkMseUJBRnFDO01BR3JDLHdCQUhxQyxFNkpnQ3BDLEVBQUE7STVKdUdDO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UwSjFCRjtJM0o3QkQsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkp1Q3BDO0k1SmdHQztNNEpoSEg7UTdKckJDLHlCQUZxQztRQUdyQyx3QkFIcUMsRTZKdUNwQyxFQUFBO0kxSlFEO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNNEpoSEg7UTNKN0JELFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UUlMckMsbUJBQWtCO1FBQ2xCLFVBSG1ELEV5SjhDbEQsRUFBQTtFNUpnR0M7STRKaEhIO003SnJCQyx5QkFGcUM7TUFHckMsd0JBSHFDLEU2SnVDcEMsRUFBQTtJNUpnR0M7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RTBKUkY7SS9Kb0NELGtCQ1R1RDtJRDFCckQsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJSWpEbkIsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkowQ1U7SWpLbUZqRDtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtJS0hHO000SjlGSDtRN0p2Q0MseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkowQ1UsRUFBQTtJMUpLL0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lBYUg7TUFFRSxZQUFXLEVBQ1o7O0FGc0VHO0U0SnpGTjs7Ozs7SUFNa0Msc0I5SmdCdUIsRThKZHRELEVBQUE7O0FBUkg7Ozs7O0VBT2dCLGNBQWEsRUFBSTs7QUN6RWpDO0VBQ0Usb0JuSzZEYSxFbUt0RGQ7RUFOQztJaEsrRkEsa0JDVHVEO0lEMUJyRCxtQkFBa0I7SUFDbEIsa0JBQWlCO0lJakRuQixZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCxpQkR1RVM7SUN0RVQsZ0JEc0VTLEUrSnRGVjtJbEswSUQ7TUFFRSxlQUFjO01BQ2QsYUFBWSxFQU1iO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SU8zRkM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lBYUg7TUFFRSxZQUFXLEVBQ1o7SUZzRUc7TTZKekpKO1FoSytGQSxrQkNUdUQ7UUQxQnJELG1CQUFrQjtRQUNsQixrQkFBaUI7UUlqRG5CLFlDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRThKYnRDO1FsSzBJRDtVQUVFLGVBQWM7VUFDZCxhQUFZLEVBTWI7UUFFRDtVQUNFLFlBQVcsRUFDWixFQUFBO0VLSEc7STZKekpKO005Sm9CRSx5QkFGcUM7TUFHckMsd0JBSHFDLEU4SmJ0QyxFQUFBO0k3Sm9KRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQ7UUFhSDtVQUVFLFlBQVcsRUFDWixFQUFBOztBNEpyRkg7RUFDRSxzQkFBcUI7RUFDckIsZUFBYyxFQW1DZjtFQWxDQztJQUFXLGlCcEtxRWdCLEVvS3JFeUI7RUFDcEQ7SUFDRSxzQmhLbUZxRDtJZ0tsRnJELG9CaEtrRnFELEVnS2hGdEQ7SUFKQTtNQUd3QixlQUFjLEVBQUk7RUFFM0M7SUFDRSx5QmhLOEVxRDtJZ0s3RXJELFlBQVc7SUFDWCxzQmhLNEVxRDtJZ0szRXJELHlCaEsyRXFEO0lnSzFFckQsbUJoSzBFcUQ7SWdLekVyRCxtQkFBa0I7SUFDbEIsOEIzSDJFNkMsRTJIdkQ5QztJQTNCQTs7TUFVRyxZQUFXO01BQ1gsV0FBVTtNQUNWLHdCaEttRW1EO01nS2xFbkQsZUFBYyxFQUNmO0lBZEY7TUFleUIsK0IzSG1FcUIsRTJIbkV3QztJQWZ0RjtNQWlCRyxlQUFjO01BQ2QsZUFBYyxFQUNmO0lBbkJGO01Bc0JLLGlCQUFnQjtNQUNoQix5QmhLd0RpRDtNZ0t2RGpELG9CaEt1RGlELEVnS3REbEQ7O0FBSVA7RWpLOENJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRWlLS2xFO0U5Sm9FSztJOEpySE47TWpLOENJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRWlLS2xFLEVBQUE7RTlKb0VLO0k4SnJITjtNaks4Q0kseUJBRitEO01BRy9ELHdCQUgrRCxFaUtLbEUsRUFBQTtFbkswREM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUtIRztJOEpySE47TUFHSSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsb0JBQW1CLEVBNkN0QixFQUFBO0VBM0NDO0k3SjlCQSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEUrSjhCdEM7STlKeUdHO004Si9HSjtRL0p0QkUseUJBRnFDO1FBR3JDLHdCQUhxQyxFK0o4QnRDLEVBQUE7STVKaUJDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNOEovR0o7UTdKOUJBLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUrSjhCdEMsRUFBQTtFOUp5R0c7SThKL0dKO00vSnRCRSx5QkFGcUM7TUFHckMsd0JBSHFDLEUrSjhCdEMsRUFBQTtJOUp5R0c7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RTRKbEJIO0k3SnJDQSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0krSmlDckMsdUJoS21DcUQ7SWdLbENyRCxtQkFBa0IsRUFnQ25CO0k5SnFFRztNOEp4R0o7US9KN0JFLHlCQUZxQztRQUdyQyx3QkFIcUMsRStKa0V0QyxFQUFBO0k1Sm5CQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TThKeEdKO1E3SnJDQSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFK0prRXRDLEVBQUE7RTlKcUVHO0k4SnhHSjtNL0o3QkUseUJBRnFDO01BR3JDLHdCQUhxQyxFK0prRXRDLEVBQUE7STlKcUVHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0k0SlZEO01BQ0UsMEJwS0RjO01vS0VkLG1CaEsyQm1ELEVnS3ZCcEQ7TTlKMEZDO1E4SmhHRjtVQUlJLGtCaEt5QmlELEVnS3ZCcEQsRUFBQTtJQUNEO01BQ0Usa0JoS3FCbUQ7TWdLcEJuRCxlQUFjLEVBQ2Y7SUFDRDtNQUNFLHNCaEtpQm1EO01nS2hCbkQsdUJoS2dCbUQ7TWdLZm5ELGtCaEtlbUQ7TWdLZG5ELGVBQWMsRUFDZjtJQUNEO01BQ0UsZUFBYztNQUNkLGVBQWM7TUFDZCxvQmhLU21ELEVnS1JwRDtJQUNEO01BQ0UsZUFBYztNQUNkLGlCcEtYdUI7TW9LWXZCLGVBQWMsRUFDZjs7QUNyRkw7RUFHYyxjQUFhLEVBQUk7O0FBSC9COztFQU9JLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsZWpLK0VxRDtFaUs5RXJELGNqSzhFcUQ7RWlLN0VyRCxpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLGdCQUFlO0VBQ2Ysd0JBQXVCO0VBQ3ZCLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isc0NBQXFDO0VBQ3JDLGtDQUFpQztFQUNqQyw4QkFBNkI7RUFDN0IsV0FBVTtFQUNWLGFBQVk7RUFDWixjQUFhO0VBQ2IsV0FBVSxFQXFCWDtFQTVDSDs7O0lBMEJNLGNBQWE7SUFDYix3QkFBdUI7SUFDdkIsbUJBQWtCLEVBQ25CO0VBN0JMOztJQStCTSxhQUFZO0lBQ1osZ0JBQWUsRUFDaEI7RUFqQ0w7O0lBbUNNLDhCQUE2QjtJQUM3QixrQmpLb0RtRDtJaUtuRG5ELGVBQWM7SUFDZCwwQkFBOEM7SUFDOUMsZXJLd0JTO0lxS3ZCVCxXQUFVO0lBQ1Ysb0NBQW1DO0lBQ25DLG1DQUFrQyxFQUNuQzs7QUEzQ0w7RUE4Q0ksUUFBTyxFQUVSO0VBaERIO0lBK0NlLGlCQUFnQixFQUFJOztBQS9DbkM7RUFrREksU0FBUSxFQUVUO0VBcERIO0lBbURlLGlCQUFnQixFQUFJOztBQW5EbkM7RUFxRG1CLHdCakttQ3NDLEVpS25DTjs7QUFyRG5EO0VBdURJLG1CQUFrQjtFQUNsQixtQmpLZ0NxRDtFaUsvQnJELGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixVQUFTO0VBQ1QsWUFBVyxFQW9DWjtFQWxHSDtJQWdFTSxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBQ3JCLGtCaktzQm1EO0lpS3JCbkQsZWpLcUJtRDtJaUtwQm5ELG1CaktvQm1EO0lpS25CbkQsZ0JBQWUsRUE0QmhCO0kvSjBEQztNK0ozSk47UUF1RVEsZ0JqS2lCaUQ7UWlLaEJqRCxrQmpLZ0JpRCxFaUtTcEQsRUFBQTtJL0owREM7TStKM0pOO1FBMkVRLGNqS2FpRDtRaUtaakQsbUJqS1lpRCxFaUtTcEQsRUFBQTtJQWpHTDtNQStFUSxVQUFTO01BQ1Qsd0JBQXVCO01BQ3ZCLGVBQWM7TUFDZCxZQUFXO01BQ1gsa0JqS0tpRDtNaUtKakQsY0FBYTtNQUNiLGlCQUFnQjtNQUNoQixlQUFjO01BQ2QsbUJBQWtCO01BQ2xCLGdCQUFlO01BQ2YsMEJySzVCVyxFcUtrQ1o7TUEvRlA7UUE0RlUsY0FBYTtRQUNiLFdBQVUsRUFDWDtJQTlGVDtNQWdHOEIsb0JySzNDWixFcUsyQzBDOztBQUk1RDs7Ozs7O0VBT0ksdUJqS25CcUQ7RWlLb0JyRCx3QmpLcEJxRCxFaUtnRHREO0UvSm1CRztJK0p2RE47Ozs7OztNQVVNLHdCakt0Qm1EO01pS3VCbkQseUJqS3ZCbUQsRWlLZ0R0RCxFQUFBO0VBcENIOzs7Ozs7SUFjTSxzQmpLMUJtRDtJaUsyQm5ELHVCakszQm1ELEVpS2dDcEQ7SS9KbUNDO00rSnZETjs7Ozs7O1FBaUJRLHVCaks3QmlEO1FpSzhCakQsd0JqSzlCaUQsRWlLZ0NwRCxFQUFBO0VBcEJMOzs7Ozs7Ozs7Ozs7SUFzQmtCLGFqS2xDdUMsRWlLa0NsQjtFQXRCdkM7Ozs7OztJQXdCTSxjQUFhO0lBQ2IsaUJqS3JDbUQsRWlLeUNwRDtJL0owQkM7TStKdkROOzs7Ozs7UUEyQlEsY2pLdkNpRCxFaUt5Q3BELEVBQUE7RUE3Qkw7Ozs7OztJQStCTSxnQmpLM0NtRCxFaUsrQ3BEO0kvSm9CQztNK0p2RE47Ozs7OztRQWlDUSxpQmpLN0NpRCxFaUsrQ3BELEVBQUE7O0FBR0w7Ozs7RUFLSSx3QmpLdkRxRDtFaUt3RHJELHlCakt4RHFELEVpS2dFdEQ7RUFkSDs7OztJQVFNLHVCaksxRG1EO0lpSzJEbkQsd0JqSzNEbUQ7SWlLNERuRCxnQkFBZSxFQUNoQjtFQVhMOzs7O0lBWWtCLGdCaks5RHVDLEVpSzhEbEI7RUFadkM7Ozs7SUFha0IsaUJqSy9EdUMsRWlLK0RqQjs7QUFHeEM7O0VBR0ksZ0JBQWUsRUFFaEI7RUFMSDs7SUFJc0IsY0FBYSxFQUFJOztBQUd2QztFQUVJLHVCakszRXFELEVpSzRGdEQ7RS9KekJHO0krSk1OO01BSW9DLHVCaks3RXFCLEVpSzhFcEQsRUFBQTtFQUxMOztJQVFNLGFqS2pGbUQsRWlLc0ZwRDtJQWJMOztNQVVRLDBCckt0SFU7TXFLdUhWLGVySzdHTyxFcUs4R1I7RUFaUDtJQWVNLGNBQWE7SUFDYixpQmpLekZtRCxFaUswRnBEO0VBakJMO0lBa0JrQixTQUFRLEVBQUk7O0FBRzlCOztFQUVFLHdCaktoR3VELEVpSytIeEQ7RS9KNURLO0krSjJCTjs7TUFJSSx5QmpLbEdxRCxFaUsrSHhELEVBQUE7RS9KNURLO0krSjJCTjs7TUFTUSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLHNCakt4R2lEO01pS3lHakQseUJqS3pHaUQsRWlLZ0hwRCxFQUFBO0UvSjdDQztJK0oyQk47O01BZVUsYUFBWSxFQUVmLEVBQUE7RUFqQlA7O0lBb0JNLGNBQWE7SUFDYixvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQixXQUFVO0lBQ1YsVUFBUztJQUNULGNBQWEsRUFDZDtFQXpCTDs7SUEyQk0sVUFBUztJQUNULG1DQUEwQjtRQUExQiwrQkFBMEI7WUFBMUIsMkJBQTBCO0lBQzFCLFVBQVM7SUFDVCxjQUFhLEVBQ2Q7O0FBR0w7RUFDRSwwQmpLakl1RCxFaUtxSXhEO0UvSjdESztJK0p3RE47TUFHSSx5QmpLbklxRCxFaUtxSXhELEVBQUE7O0EvSjdESztFZ0toS047SUFJUSxlQUFjO0lBQ2QsWUFBVyxFQUdkLEVBQUE7O0FBUkw7RUFPdUIsZ0JBQWdCLEVBQUU7O0FBUHpDOzs7RUFZTSxtQmxLNEVtRDtFa0szRW5ELDBCbEsyRW1EO0VrSzFFbkQsbUJ0SzREYTtFc0szRGIsaUJ0S3lEdUIsRXNLdkR4QjtFaEswSUM7SWdLM0pOOzs7TUFnQm9DLDBCbEs2RXZCLEVrSzVFUixFQUFBOztBQWpCTDs7O0VBcUJNLDBCdEtnQ1k7RXNLL0JaLGV0S3lDUyxFc0t4Q1Y7O0FBdkJMOzs7RUEyQk0sZXRLb0NTO0VzS25DVCwwQkFBOEMsRUFDL0M7O0FBN0JMOzs7RUFpQ00sZXRLOEJTO0VzSzdCVCwwQjdIeUQyQyxFNkh4RDVDOztBQW5DTDs7O0VBdUNNLGV0S3dCUztFc0t2QlQsMEJ0S2lCVSxFc0toQlg7O0FBekNMO0VBNENJLGVBQWM7RUFDZCxpQmxLZ0RTO0VrSy9DVCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLFlBQVcsRUFDWjs7QUFqREg7OztFQXNETSwwQmxLa0NtRDtFa0tqQ25ELGV0S1FTO0VzS1BULDBCdEtIWTtFc0tJWixpQnRLZXVCO0VzS2R2QixtQnRLZ0JhLEVzS2ZkOztBQTNETDs7O0VBK0RNLGV0S0FTO0VzS0NULDBCN0gyQjJDLEU2SDFCNUM7O0FBakVMO0VBa0VrQixxQmxLc0J1QyxFa0t0QlY7O0FDMkcvQzs7RUFFWSxldktqSEcsRXVLaUhjIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxLCAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogIzExMTExMTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksIGgxLCAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3RpdGxlLFxuaDIsXG4uY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSxcbi5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX190aXRsZSxcbi5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsXG4ub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsXG4ucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLFxuLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLFxuLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbi5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4uY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4ucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS1kZWZhdWx0IC5wYWdlX19mb3JtLXRpdGxlLFxuLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZS10aXRsZSxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUgc3BhbiBhLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUsXG5oMyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlLFxuLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbi5hZGQtb25fX3RpdGxlLFxuLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbi5xdWljay1zZWFyY2hfX2xlZ2VuZCxcbi5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtdGl0bGUsXG4uZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuY2FyZC1kaXZpZGVyLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbi5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4uZXh0cmFzX19saXN0LXRpdGxlLFxuaDQsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX25hbWUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbi52aWRlby0tcGFnZSAudmlkZW9fX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG4uZmluYW5jZS1mb3JtIC5maW5hbmNlLWZvcm1fX3RpdGxlLFxuLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcsXG4uZmluYW5jZS1leGFtcGxlX190aXRsZSxcbi5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX3RpdGxlLFxuLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19zdWItdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG5oNSxcbi5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3N1Yi10aXRsZSxcbi5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3N1Yi10aXRsZSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS44O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3RpdGxlLFxuaDIsXG4uY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSxcbi5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX190aXRsZSxcbi5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsXG4ub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsXG4ucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLFxuLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLFxuLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbi5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4uY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4ucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS1kZWZhdWx0IC5wYWdlX19mb3JtLXRpdGxlLFxuLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZS10aXRsZSxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUgc3BhbiBhLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUsXG5oMyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlLFxuLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbi5hZGQtb25fX3RpdGxlLFxuLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbi5xdWljay1zZWFyY2hfX2xlZ2VuZCxcbi5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtdGl0bGUsXG4uZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuY2FyZC1kaXZpZGVyLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbi5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4uZXh0cmFzX19saXN0LXRpdGxlLFxuaDQsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX25hbWUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbi52aWRlby0tcGFnZSAudmlkZW9fX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG4uZmluYW5jZS1mb3JtIC5maW5hbmNlLWZvcm1fX3RpdGxlLFxuLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcsXG4uZmluYW5jZS1leGFtcGxlX190aXRsZSxcbi5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX3RpdGxlLFxuLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19zdWItdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG5oNSxcbi5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3N1Yi10aXRsZSxcbi5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3N1Yi10aXRsZSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5ibG9jay0tb2N0YW5lLWZpbmFuY2UtYmFubmVyIC5ibG9ja19fdGl0bGUgc21hbGwsXG4gIGgyIHNtYWxsLFxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSBzbWFsbCxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlIHNtYWxsLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlIHNtYWxsLFxuICAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlIHNtYWxsLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSBzbWFsbCxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSBzbWFsbCxcbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUgc21hbGwsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSBzbWFsbCxcbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUgc21hbGwsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSBzbWFsbCxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSBzbWFsbCxcbiAgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUgc21hbGwsXG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlIHNtYWxsLFxuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3RpdGxlIHNtYWxsLFxuICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fdGl0bGUgc21hbGwsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlIHNtYWxsLFxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSBzbWFsbCxcbiAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSBzbWFsbCxcbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSBzbWFsbCxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UtdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUgc3BhbiBhIHNtYWxsLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlIHNtYWxsLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fYWRkcmVzcy10aXRsZSBzbWFsbCxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSBzbWFsbCxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUgc21hbGwsXG4gIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX3N1Yi10aXRsZSBzbWFsbCxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSBzbWFsbCxcbiAgLmFkZC1vbl9fdGl0bGUgc21hbGwsXG4gIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGggc3BhbiBzbWFsbCxcbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlIHNtYWxsLFxuICAub3JkZXItcGF5bWVudF9fdGl0bGUgc21hbGwsXG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSBzbWFsbCxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUgc21hbGwsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlIHNtYWxsLFxuICAucXVpY2stc2VhcmNoX19sZWdlbmQgc21hbGwsXG4gIC5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtdGl0bGUgc21hbGwsXG4gIC5maW5hbmNlLXRhYmxlLS1vcmRlciAuZmluYW5jZS10YWJsZV9fdGl0bGUgc21hbGwsXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuY2FyZC1kaXZpZGVyIHNtYWxsLFxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX190aXRsZSBzbWFsbCxcbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fdGl0bGUgc21hbGwsXG4gIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlIHNtYWxsLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSBzbWFsbCxcbiAgLmV4dHJhc19fbGlzdC10aXRsZSBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSBzbWFsbCxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlIHNtYWxsLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSBzbWFsbCxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlIHNtYWxsLFxuICAudmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSBzbWFsbCxcbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlIHNtYWxsLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcgc21hbGwsXG4gIC5maW5hbmNlLWV4YW1wbGVfX3RpdGxlIHNtYWxsLFxuICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX190aXRsZSBzbWFsbCxcbiAgLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19zdWItdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3N1Yi10aXRsZSBzbWFsbCxcbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fc3ViLXRpdGxlIHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNlNmU2ZTY7IH1cblxuaDEsIC5ibG9jay0tb2N0YW5lLWZpbmFuY2UtYmFubmVyIC5ibG9ja19fdGl0bGUge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5cbmgyLFxuLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4ub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLFxuLm9yZGVyLXByb2dyZXNzX190aXRsZSxcbi5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSxcbi5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtLXRpdGxlLFxuLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSxcbi52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSxcbi5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsXG4uY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3RpdGxlLFxuLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3RpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4ucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4udmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UtdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuXG5oMyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlLFxuLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbi5hZGQtb25fX3RpdGxlLFxuLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbi5xdWljay1zZWFyY2hfX2xlZ2VuZCxcbi5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtdGl0bGUsXG4uZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuY2FyZC1kaXZpZGVyLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbi5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4uZXh0cmFzX19saXN0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuXG5oNCxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLFxuLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLnZpZGVvLS1wYWdlIC52aWRlb19fdGl0bGUsXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbi1jYXRlZ29yeV9fdGl0bGUsXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSxcbi5maW5hbmNlLWZvcm0gLmZpbmFuY2UtZm9ybV9fdGl0bGUsXG4uZmluYW5jZS10YWJsZXMgLmZpbmFuY2Utd2FybmluZyxcbi5maW5hbmNlLWV4YW1wbGVfX3RpdGxlLFxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fdGl0bGUsXG4uYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3N1Yi10aXRsZSxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cblxuaDUsXG4uYmxvY2stLWRlZmF1bHQgLmJsb2NrX19zdWItdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX19zdWItdGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgXG4gIGgyLFxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLFxuICAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSxcbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUsXG4gIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSxcbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlLFxuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3RpdGxlLFxuICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLFxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UtdGl0bGUsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUgc3BhbiBhLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgXG4gIGgzLFxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlLFxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fc3ViLXRpdGxlLFxuICAuYWRkLW9uX190aXRsZSxcbiAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fdGl0bGUsXG4gIC5vcmRlci1wYXltZW50X190aXRsZSxcbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlLFxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3N1Yi10aXRsZSxcbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19zdWItdGl0bGUsXG4gIC5xdWljay1zZWFyY2hfX2xlZ2VuZCxcbiAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscy10aXRsZSxcbiAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX190aXRsZSxcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5jYXJkIC5jYXJkLWRpdmlkZXIsXG4gIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3RpdGxlLFxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19kaXJlY3Rpb25zLXRpdGxlLFxuICAuZXh0cmFzX19saXN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBcbiAgaDQsXG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuICAudmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSxcbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSxcbiAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSxcbiAgLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcsXG4gIC5maW5hbmNlLWV4YW1wbGVfX3RpdGxlLFxuICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX190aXRsZSxcbiAgLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19zdWItdGl0bGUsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIFxuICBoNSxcbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fc3ViLXRpdGxlLFxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNkYmRiZGI7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAjOTk5OTk5OyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX190aXRsZSxcbiAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZm9ybS10aXRsZSxcbiAgLm9yZGVyLXByb2dyZXNzX190aXRsZSxcbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUsXG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtLXRpdGxlLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLFxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X190aXRsZSxcbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3RpdGxlLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlLXRpdGxlLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190aXRsZSxcbiAgaDMsXG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19zdWItdGl0bGUsXG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsXG4gIC5hZGQtb25fX3RpdGxlLFxuICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoIHNwYW4sXG4gIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X190aXRsZSxcbiAgLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbiAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kLFxuICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGl0bGUsXG4gIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmNhcmQgLmNhcmQtZGl2aWRlcixcbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3RpdGxlLFxuICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS10aXRsZSxcbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5leHRyYXNfX2xpc3QtdGl0bGUge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIFxuICBoMixcbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fdGl0bGUsXG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX190aXRsZSxcbiAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZm9ybS10aXRsZSxcbiAgLm9yZGVyLXByb2dyZXNzX190aXRsZSxcbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUsXG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtLXRpdGxlLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLFxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X190aXRsZSxcbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3RpdGxlLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlLXRpdGxlLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190aXRsZSxcbiAgaDMsXG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19zdWItdGl0bGUsXG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsXG4gIC5hZGQtb25fX3RpdGxlLFxuICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoIHNwYW4sXG4gIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X190aXRsZSxcbiAgLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbiAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kLFxuICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGl0bGUsXG4gIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmNhcmQgLmNhcmQtZGl2aWRlcixcbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3RpdGxlLFxuICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS10aXRsZSxcbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5leHRyYXNfX2xpc3QtdGl0bGUge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDM0MztcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Nzc3O1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMzYzNjM2M7XG4gICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3Nzc3NztcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2MzYzNjO1xuICAgICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ1NDU0O1xuICAgICAgY29sb3I6ICM1NDU0NTQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmEyYTJhO1xuICAgICAgICBjb2xvcjogIzJhMmEyYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzU0NTQ1NDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNlNmU2ZTY7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2VjZWNlYztcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi40Mzc1cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODE1MywgMTUzLCAxNTMlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNlNmU2ZTY7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4OyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzExMTExMTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgY29sb3I6ICMxMTExMTE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMxMTExMTE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzExMTExMTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzExMTExMTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWNlY2VjO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlY2VjZWM7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSwgLm1lbnUuaG9yaXpvbnRhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubWVudS5zaW1wbGUuYWxpZ24tcmlnaHQgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YmVmb3JlLCAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcC52ZXJ0aWNhbCBhID4gc3BhbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM3Nzc3Nzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUubWVudS1ib3JkZXJlZCBsaSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYzsgfVxuICAgIC5tZW51Lm1lbnUtYm9yZGVyZWQgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAubWVudS5tZW51LWhvdmVyIGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi5tZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2U2ZTZlNiwgMCAxNHB4IDAgI2U2ZTZlNjsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMDAwMCwgMCAxNHB4IDAgIzAwMDAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzk5OTk5OSwgMCAxNHB4IDAgIzk5OTk5OTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMxMTExMTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzc3Nzc3NztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNzc3Nzc3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNzBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICM3Nzc3Nzc7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmZmOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjNzc3Nzc3O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc3Nzc3NztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWNlY2VjOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzc3Nzc3NztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogMTAwcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzFkMWQxZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTcxNzE3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjMWQxZDFkO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFkMWQxZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTIxMjsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODE4MTg7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMwYzBjOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM3Nzc3Nzc7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3MTcxNzE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3Nzc3Nzc7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG5hIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDsgfVxuXG4uY2FsbG91dCB7XG4gIG1hcmdpbjogMC4zMTI1cmVtIDA7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgdG9wOiAwLjc1cmVtO1xuICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jbG9zZS1idXR0b24tLXRvZ2dsZXIge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMC44NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuY2xvc2UtYnV0dG9uLS10b2dnbGVyOmZvY3VzLCAuY2xvc2UtYnV0dG9uLS10b2dnbGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jbG9zZS1idXR0b24tLXRvZ2dsZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNvb2tpZS1wb2xpY3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk7IH1cbiAgLmNvb2tpZS1wb2xpY3ktaW5uZXIge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvb2tpZS1wb2xpY3ktaW5uZXI6OmJlZm9yZSwgLmNvb2tpZS1wb2xpY3ktaW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmNvb2tpZS1wb2xpY3ktaW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb29raWUtcG9saWN5LWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvb2tpZS1wb2xpY3ktaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuY29va2llLXBvbGljeS1pbm5lciwgLmNvb2tpZS1wb2xpY3ktaW5uZXI6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29va2llLXBvbGljeS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5jb29raWUtcG9saWN5LWlubmVyIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvb2tpZS1wb2xpY3ktaW5uZXIgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY29va2llLXBvbGljeV9fdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAuY29va2llLXBvbGljeV9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwLjYyNXJlbTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jb29raWUtcG9saWN5X19jbG9zZSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmNvb2tpZS1wb2xpY3lfX2Nsb3NlOmhvdmVyLCAuY29va2llLXBvbGljeV9fY2xvc2U6Zm9jdXMge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvb2tpZS1wb2xpY3lfX2Nsb3NlIHtcbiAgICAgICAgdG9wOiAwLjgxMjVyZW07XG4gICAgICAgIHJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50OyB9XG5cbi5pY29uOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmljb24tLWFycm93LWJhY2s6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWM0JzsgfVxuXG4uaWNvbi0tYXJyb3ctZm9yd2FyZDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1YzgnOyB9XG5cbi5pY29uLS1iaWtlOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTUyZic7IH1cblxuLmljb24tLWNhcjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1MzEnOyB9XG5cbi5pY29uLS1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWNiJzsgfVxuXG4uaWNvbi0tY2hldnJvbi1yaWdodDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1Y2MnOyB9XG5cbi5pY29uLS1jbG9jazo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4NTUnOyB9XG5cbi5pY29uLS1maW5hbmNlOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTg3Nyc7IH1cblxuLmljb24tLWVubGFyZ2U6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTZiJzsgfVxuXG4uaWNvbi0tZXhwYW5kLWxlc3M6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWNlJzsgfVxuXG4uaWNvbi0tZXhwYW5kLW1vcmU6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWNmJzsgfVxuXG4uaWNvbi0tZG9jdW1lbnQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODczJzsgfVxuXG4uaWNvbi0tZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjA5YVwiOyB9XG5cbi5pY29uLS1maWx0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlMTUyJzsgfVxuXG4uaWNvbi0tZ29vZ2xlLXBsdXM6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5pY29uLS1pbWFnZS1saWJyYXJ5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTQxMyc7IH1cblxuLmljb24tLWluZm86OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb250ZW50OiAnXFxlODhmJzsgfVxuXG4uaWNvbi0tbGlua2VkaW46OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5pY29uLS1tYWlsOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTE1OCc7IH1cblxuLmljb24tLW1lbnU6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWQyJzsgfVxuXG4uaWNvbi0tcGxheTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGUwMzknOyB9XG5cbi5pY29uLS1waG9uZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGUwY2QnOyB9XG5cbi5pY29uLS1yZWNlbnQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODg5JzsgfVxuXG4uaWNvbi0tc2hhcmU6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODBkJzsgfVxuXG4uaWNvbi0tc2F2ZWQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODdkJzsgfVxuXG4uaWNvbi0tc2VhcmNoOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZThiNic7IH1cblxuLmljb24tLXNtczo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU2MjUnOyB9XG5cbi5pY29uLS10cmFuc2l0OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTUzNSc7IH1cblxuLmljb24tLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5pY29uLS1wcmludDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4YWQnOyB9XG5cbi5pY29uLS12aWRlby1saWJyYXJ5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTA0YSc7IH1cblxuLmljb24tLXdhbGs6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTM2JzsgfVxuXG4uaWNvbi0td2hhdHNhcHA6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjIzMlwiOyB9XG5cbi5sb2dvIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmxvZ28tLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sb2dvLS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmxvZ28tLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnJldmVhbCB7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnJldmVhbF9faGVhZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmV2ZWFsX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2ZWFsX19oZWFkZXI6OmJlZm9yZSwgLnJldmVhbF9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5yZXZlYWxfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJldmVhbF9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnJldmVhbF9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmVhbF9fdGl0bGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsX190aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmVhbF9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmVhbF9fdmVoaWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4zOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2ZWFsX192ZWhpY2xlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbF9fdmVoaWNsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmVhbF9fdmVoaWNsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucmV2ZWFsX192ZWhpY2xlLW1ha2UtbW9kZWwge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucmV2ZWFsX192ZWhpY2xlLWltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbF9fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnJldmVhbF9fZGVzY3JpcHRpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJldmVhbC0tdmVoaWNsZS1lbnF1aXJ5LCAucmV2ZWFsLS1lbWFpbC12ZWhpY2xlLCAucmV2ZWFsLS12ZWhpY2xlLXBheW1lbnQge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWwtLXZlaGljbGUtZW5xdWlyeSwgLnJldmVhbC0tZW1haWwtdmVoaWNsZSwgLnJldmVhbC0tdmVoaWNsZS1wYXltZW50IHtcbiAgICAgICAgcGFkZGluZzogMy4xMjVyZW0gMS44NzVyZW0gMS44NzVyZW07IH0gfVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0aGVhZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIC50YWJzID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicyA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLnRhYnMgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50YWJzIGlucHV0LFxuICAudGFicyBzZWxlY3QsXG4gIC50YWJzIGEsXG4gIC50YWJzIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGFicyA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGFicyA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEge1xuICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07IH1cbiAgICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgaDIsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLCAub2ZmZXItLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9mZmVyX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLCAub2ZmZXItLWZ1bGwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXJfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9yZGVyLXByb2dyZXNzX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSwgLnBhZ2UtLXRlYXNlciAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLCAucGFydC0tZmVhdHVyZWQgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydF9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsIC5wYXJ0LS1mdWxsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhcnRfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSwgLnBvc3QtLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBvc3RfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSwgLnZlaGljbGUtLWdlbmVyYWwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1sYXRlc3QgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5saXN0aW5nX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tZnVsbCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5jdXN0b20tZW50cnlfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5wYWdlLS1jb250YWN0IC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2VfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5wYWdlLS1kZWZhdWx0IC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2VfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSwgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX19mb3JtLXRpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1mZWF0dXJlZCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZS10aXRsZSwgLnZlaGljbGUtLWZ1bGwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fZmluYW5jZS10aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlbGVwaG9uZSBzcGFuIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgYSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGVfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tdGVhc2VyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYTpob3ZlcixcbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjNzc3Nzc3O1xuICAgICAgICAgIHotaW5kZXg6IDQwMDsgfSB9XG4gICAgLnRhYnMgPiBsaTpsYXN0LWNoaWxkLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udmVoaWNsZV9fdG9wIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG5cbi52ZWhpY2xlX19taWRkbGUgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMCAwOyB9XG5cbi50ZW1wb3Jhcnktc2xvZ2FuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgei1pbmRleDogOTk5OyB9XG4gIC50ZW1wb3Jhcnktc2xvZ2FuX19pbm5lciB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGVtcG9yYXJ5LXNsb2dhbl9faW5uZXIge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRlbXBvcmFyeS1zbG9nYW5fX2lubmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50ZW1wb3Jhcnktc2xvZ2FuX19pbm5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLnRlbXBvcmFyeS1zbG9nYW5fX2lubmVyIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC50b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDE2Ljg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgei1pbmRleDogOTk5OyB9XG4gICAgLnRvZ2dsZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udG9nZ2xlci1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5ODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTsgfVxuXG4uYmxvY2stLWZvb3RlciAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyNDI0MjQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG4uYnJhbmNoLS1mb290ZXIgLmJyYW5jaF9fbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgLmJyYW5jaC0tZm9vdGVyIC5icmFuY2hfX25hbWU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLCc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5icmFuY2gtLWZvb3RlciAuYnJhbmNoX19hZGRyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5icmFuY2gtLWZvb3RlciAuYnJhbmNoX19hZGRyZXNzIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLCc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5icmFuY2gtLWZvb3RlciAuYnJhbmNoX19hZGRyZXNzIHNwYW46bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fbWFwIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX21hcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX21hcCAjbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fbWFwICNtYXAge1xuICAgICAgICBoZWlnaHQ6IDI5cmVtOyB9IH1cblxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19wcmltYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uYnJhbmNoLS1mdWxsIC5icmFuY2hfX2xvZ29zLFxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fbG9nb3MsXG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2xvZ29zLFxuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2xvZ29zIHVsLFxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3NlY29uZGFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHtcbiAgICB3aWR0aDogMjVyZW07IH0gfVxuXG4uYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsOjpiZWZvcmUsIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZmlsZXMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kaXJlY3Rpb25zIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2RpcmVjdGlvbnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLmJyYW5jaC0tdGVhc2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5icmFuY2gtLXRlYXNlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5icmFuY2gtLXRlYXNlcjo6YmVmb3JlLCAuYnJhbmNoLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyYW5jaC0tdGVhc2VyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX25hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX25hbWUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fbmFtZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2RldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fYWRkcmVzcyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VycyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VyczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VycyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VyczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHNlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmJyYW5jaC0tdmVoaWNsZSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tdmVoaWNsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJyYW5jaC0tdmVoaWNsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5icmFuY2gtLXZlaGljbGU6OmJlZm9yZSwgLmJyYW5jaC0tdmVoaWNsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnJhbmNoLS12ZWhpY2xlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbWFwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbWFwICNtYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcCAjbWFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDM3LjVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19uYW1lLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fYWRkcmVzcyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fdGVsZXBob25lLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX29wZW5pbmctaG91cnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZSB1bCxcbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX29wZW5pbmctaG91cnMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQ6OmJlZm9yZSwgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fY29udGVudC0td2l0aG91dC1tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19jb250ZW50LS13aXRob3V0LW1lZGlhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fY29udGVudC0td2l0aG91dC1tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19jdXN0b20tZmllbGRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2N1c3RvbS1maWVsZHMgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fY3VzdG9tLWZpZWxkcyB1bCBsaSBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fbGluayAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5kZXBhcnRtZW50LS10ZWFzZXIgLmRlcGFydG1lbnRfX25hbWUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kZXBhcnRtZW50LS10ZWFzZXIgLmRlcGFydG1lbnRfX3RlbGVwaG9uZSAuZGVwYXJ0bWVudF9fbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnOic7XG4gIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG5cbi5kZXBhcnRtZW50LS10ZWFzZXIgLmRlcGFydG1lbnRfX3RlbGVwaG9uZSAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kZXBhcnRtZW50LS10ZWFzZXIgLmRlcGFydG1lbnRfX29wZW5pbmctaG91cnMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuLmRlcGFydG1lbnQtLXRlYXNlciAuZGVwYXJ0bWVudF9fb3BlbmluZy1ob3VycyAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZGVwYXJ0bWVudC0tdmVoaWNsZSAuZGVwYXJ0bWVudF9fdGVsZXBob25lIC5kZXBhcnRtZW50X19sYWJlbDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICc6JztcbiAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cblxuLmRlcGFydG1lbnQtLXZlaGljbGUgLmRlcGFydG1lbnRfX3RlbGVwaG9uZSAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kZXBhcnRtZW50LS12ZWhpY2xlIC5kZXBhcnRtZW50X19vcGVuaW5nLWhvdXJzIC5kZXBhcnRtZW50X192YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5mb3JtLS1kZWxpdmVyeS1jYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAuZm9ybS0tZGVsaXZlcnktY2FsZW5kYXIgLmZvcm1fX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLWRlbGl2ZXJ5LWNhbGVuZGFyIC5mb3JtX19saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAgIC5mb3JtLS1kZWxpdmVyeS1jYWxlbmRhciAuZm9ybV9fbGluayAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tLWRpcmVjdGlvbnMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1kaXJlY3Rpb25zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS1kaXJlY3Rpb25zOjpiZWZvcmUsIC5mb3JtLS1kaXJlY3Rpb25zOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5mb3JtLS1kaXJlY3Rpb25zOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN0YXJ0aW5nLXBvaW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN0YXJ0aW5nLXBvaW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1kZXN0aW5hdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1kZXN0aW5hdGlvbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1kZXN0aW5hdGlvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb24ge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1kZXN0aW5hdGlvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQge1xuICAgICAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5mb3JtLS1kaXJlY3Rpb25zLmZvcm0tLXNpbmdsZS1icmFuY2ggLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zLmZvcm0tLXNpbmdsZS1icmFuY2ggLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMuZm9ybS0tc2luZ2xlLWJyYW5jaCAuZmllbGQtc3RhcnRpbmctcG9pbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLWRpcmVjdGlvbnMuZm9ybS0tc2luZ2xlLWJyYW5jaCAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgICAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucy5mb3JtLS1zaW5nbGUtYnJhbmNoIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvcm0tLWRpcmVjdGlvbnMuZm9ybS0tc2luZ2xlLWJyYW5jaCAuZmllbGQtc3RhcnRpbmctcG9pbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmZvcm0tLXZlaGljbGUtZGlyZWN0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybS0tdmVoaWNsZS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuMjVyZW07XG4gICAgcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtLS12ZWhpY2xlLWRpcmVjdGlvbnMgLmZpZWxkLXN1Ym1pdCAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG5cbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J3RleHQnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J3Bhc3N3b3JkJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdkYXRlJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdkYXRldGltZSddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J21vbnRoJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSd3ZWVrJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdlbWFpbCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0nbnVtYmVyJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdzZWFyY2gnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J3RlbCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0ndGltZSddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0ndXJsJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdjb2xvciddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBzZWxlY3QsXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIHRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gbGFiZWwuZXJyb3Ige1xuICBoZWlnaHQ6IDEuMTg3NXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2JhY2sgYSBpIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDAgLmZpZWxkLXJlZ2lzdHJhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMCAuZmllbGQtcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAwIC5maWVsZC1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0OjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiNjdkZWdyZWVzXCI7XG4gICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDAgLmZpZWxkLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQgaW5wdXQge1xuICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAwIC5maWVsZC1yZWdpc3RyYXRpb24gLmNvbnRyb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxOjpiZWZvcmUsIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgZmllbGRzZXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSBmaWVsZHNldDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSBmaWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSBmaWVsZHNldDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnlfX2lubmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5X19saXN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeV9fbGlzdC1pdGVtIHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udmFsdWF0aW9uX19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nOjpiZWZvcmUsIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmc6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J3RleHQnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nZGF0ZSddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdkYXRldGltZSddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdtb250aCddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSd3ZWVrJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J2VtYWlsJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J251bWJlciddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdzZWFyY2gnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0ndGVsJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J3RpbWUnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0ndXJsJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J2NvbG9yJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgc2VsZWN0LFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBsYWJlbC5lcnJvciB7XG4gICAgaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNjYzRiMzc7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdGVwcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdGVwcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N0ZXBzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N0ZXBzIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybV9fc3RlcHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N0ZXBzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybV9fc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybV9fc3VtbWFyeSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybS1kaXNjbGFpbWVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm0tZGlzY2xhaW1lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm0tZGlzY2xhaW1lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tcmVnaXN0cmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQ6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDMuNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tcmVnaXN0cmF0aW9uIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAuY29udHJvbC1sYWJlbCxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5jb250cm9sLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIHAsXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zOjpiZWZvcmUsIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uczo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWwge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWw6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fZGV0YWlscyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiA2LjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCBsYWJlbC5lcnJvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjE4NzVyZW07XG4gICAgICAgIGxlZnQ6IDYuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uczo6YmVmb3JlLCAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWw6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCBpbnB1dDpjaGVja2VkICsgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fbmFtZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19kZXNjcmlwdGlvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgLm9wdGlvbnNfX3ByaWNlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgbGFiZWwuZXJyb3Ige1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjE4NzVyZW07XG4gICAgICBsZWZ0OiA2LjI1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uOjpiZWZvcmUsIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb246OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24gPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24gPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fc3RlcCB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX2NoYW5nZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX3JvdyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fcm93LS1hZGRpdGlvbmFsLXNlcnZpY2UgLmNvbmZpcm1hdGlvbl9fbGFiZWwsXG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX19yb3ctLWFkZGl0aW9uYWwtc2VydmljZSAuY29uZmlybWF0aW9uX192YWx1ZSwgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX19yb3ctLXNlcnZpY2UtdHlwZSAuY29uZmlybWF0aW9uX19sYWJlbCxcbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX3Jvdy0tc2VydmljZS10eXBlIC5jb25maXJtYXRpb25fX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLnN1bW1hcnkge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLnN1bW1hcnlfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5zdW1tYXJ5X19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5zdW1tYXJ5X192YWx1ZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5zdW1tYXJ5X19yb3ctLXNlcnZpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuc3VtbWFyeV9fcm93LS10b3RhbCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzkxOTE5MTtcbiAgICAgIG1hcmdpbi10b3A6IDAuODEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXBheW1lbnQgLmZvcm0tbWFya2V0aW5nX19maWVsZHMgaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXBheW1lbnQgLmZpZWxkLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tdmVoaWNsZS1wYXltZW50IC5maWVsZC1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAuZm9ybS0tdmVoaWNsZS1wYXltZW50IC5maWVsZC1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS1zb3J0IHNlbGVjdCB7XG4gIGhlaWdodDogMi44NzVyZW07IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19iYWNrIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19iYWNrIGEgaSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3JvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcm93OjpiZWZvcmUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yZWdpc3RyYXRpb24sXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX21pbGVhZ2UsXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2ZpcnN0LW5hbWUsXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2xhc3QtbmFtZSxcbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcGhvbmUsXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2VtYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbWlsZWFnZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2ZpcnN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19waG9uZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2VtYWlsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yZWdpc3RyYXRpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19taWxlYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZmlyc3QtbmFtZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2xhc3QtbmFtZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Bob25lOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZW1haWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yZWdpc3RyYXRpb24sXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19taWxlYWdlLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZmlyc3QtbmFtZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2xhc3QtbmFtZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Bob25lLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZW1haWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yZWdpc3RyYXRpb24sXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19taWxlYWdlLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZmlyc3QtbmFtZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2xhc3QtbmFtZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Bob25lLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZW1haWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yZWdpc3RyYXRpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbWlsZWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19maXJzdC1uYW1lOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2xhc3QtbmFtZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19waG9uZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19lbWFpbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19wYXJ0LWV4Y2hhbmdlLXZlaGljbGUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19wYXJ0LWV4Y2hhbmdlLXZlaGljbGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3BhcnQtZXhjaGFuZ2UtdmVoaWNsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5zdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuc3VtbWFyeV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLnN1bW1hcnlfX2xpc3QgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuc3VtbWFyeV9fbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1zcGVjaWZpY3MgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIGxpIC5jaGVja2JveCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIGxpIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIGxpIGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIGxpIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIC5mb3JtX19maWVsZC1oYXMtb3V0c3RhbmRpbmctZmluYW5jZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb246OmJlZm9yZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZmllbGQtcGFydGV4Y2hhbmdlZm9ybS1saWdodGNvbmRpdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gaDMsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSwgLmJyYW5jaC0tZnVsbCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fYWRkcmVzcy10aXRsZSwgLmJyYW5jaC0tdGVhc2VyIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsIC5icmFuY2gtLXRlYXNlciAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLCAuYnJhbmNoLS10ZWFzZXIgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlLCAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuY3VzdG9tLWVudHJ5X19zdWItdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsIC5vZmZlci0tZmVhdHVyZWQgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLm9mZmVyX19zdWItdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5hZGQtb25fX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoIHNwYW4sIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGggLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gc3BhbiwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAub3JkZXItcGF5bWVudF9fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSwgLnBhZ2UtLXRlYXNlciAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFnZV9fc3ViLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3N1Yi10aXRsZSwgLnBhcnQtLWZlYXR1cmVkIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wYXJ0X19zdWItdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlLCAucG9zdC0tZmVhdHVyZWQgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnBvc3RfX3N1Yi10aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnF1aWNrLXNlYXJjaF9fbGVnZW5kLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX3RpdGxlLCAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLCAuZmluYW5jZS10YWJsZS0tZnVsbCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZmluYW5jZS10YWJsZV9fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmNhcmQgLmNhcmQtZGl2aWRlciwgLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuY2FyZC1kaXZpZGVyLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX190aXRsZSwgLmJsb2NrLS1kZWZhdWx0IC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5ibG9ja19fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3RpdGxlLCAuYmxvY2stLXNpZGViYXIgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJsb2NrX190aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wYWdlLS1jb250YWN0IC5wYWdlX19kaXJlY3Rpb25zLXRpdGxlLCAucGFnZS0tY29udGFjdCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmV4dHJhc19fbGlzdC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbi1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuXG4ucmV2ZWFsLS12ZWhpY2xlLXZhbHVhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuICAucmV2ZWFsLS12ZWhpY2xlLXZhbHVhdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZm9ybSBbdHlwZT0ndGV4dCddLFxuZm9ybSBbdHlwZT0ncGFzc3dvcmQnXSxcbmZvcm0gW3R5cGU9J2RhdGUnXSxcbmZvcm0gW3R5cGU9J2RhdGV0aW1lJ10sXG5mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuZm9ybSBbdHlwZT0nbW9udGgnXSxcbmZvcm0gW3R5cGU9J3dlZWsnXSxcbmZvcm0gW3R5cGU9J2VtYWlsJ10sXG5mb3JtIFt0eXBlPSdudW1iZXInXSxcbmZvcm0gW3R5cGU9J3NlYXJjaCddLFxuZm9ybSBbdHlwZT0ndGVsJ10sXG5mb3JtIFt0eXBlPSd0aW1lJ10sXG5mb3JtIFt0eXBlPSd1cmwnXSxcbmZvcm0gW3R5cGU9J2NvbG9yJ10ge1xuICBoZWlnaHQ6IDIuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgZm9ybSBbdHlwZT0ndGV4dCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSdwYXNzd29yZCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSdkYXRlJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J2RhdGV0aW1lJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J21vbnRoJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J3dlZWsnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nZW1haWwnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nbnVtYmVyJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J3NlYXJjaCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSd0ZWwnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0ndGltZSddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSd1cmwnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nY29sb3InXTpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cblxuZm9ybSBzZWxlY3Qge1xuICBoZWlnaHQ6IDIuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzMmQzNzM3JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMC42ODc1cmVtIDAuNDM3NXJlbTsgfVxuICBmb3JtIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cblxuZm9ybSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogNi4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5mb3JtIC5oZWxwLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuZm9ybSBbdHlwZT0naGlkZGVuJ10gKyAuaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuZm9ybSAucmVxdWlyZWQgbGFiZWwuY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiAnIConO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG5mb3JtIC5mb3JtLW1hcmtldGluZ19fbWVzc2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuZm9ybSAuZm9ybS1tYXJrZXRpbmdfX2xhYmVsIGxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgKic7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbmZvcm0gLmZvcm0tbWFya2V0aW5nX19maWVsZHMgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG5cbmZvcm0gLmZvcm0tbWFya2V0aW5nX19maWVsZHMgLmZvcm0tZ3JvdXAgLmpzLW1hcmtldGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmZvcm0gLmZvcm0tbWFya2V0aW5nX19maWVsZHMgLmZvcm0tZ3JvdXAgLmhlbHAtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvcm0gLmZvcm0tbWFya2V0aW5nX19jaGFubmVscyB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBmb3JtIC5mb3JtLW1hcmtldGluZ19fY2hhbm5lbHMgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICBmb3JtIC5mb3JtLW1hcmtldGluZ19fY2hhbm5lbHMgW3R5cGU9J2NoZWNrYm94J10ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tZGlzY2xhaW1lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4ubm8taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogNzUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE0MTQxOyB9XG4gIC5uby1pbWFnZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC5uby1pbWFnZSAubm8taW1hZ2VfX3RleHQge1xuICBtYXJnaW4tdG9wOiAtMC44MTI1cmVtO1xuICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi52ZWhpY2xlLS1zaW1pbGFyIC5uby1pbWFnZSAubm8taW1hZ2VfX3RleHQge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmVoaWNsZS0tY29tcGFyZSAubm8taW1hZ2Uge1xuICAgIGhlaWdodDogMTEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnZlaGljbGUtLXRlYXNlciAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0LFxuICAudmVoaWNsZS0tZmVhdHVyZWQgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCxcbiAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCxcbiAgLnZlaGljbGUtLWxhdGVzdCAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0LFxuICAudmVoaWNsZS0tbGF0ZXN0LXNpZGViYXIgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCxcbiAgLnZlaGljbGUtLXNpbWlsYXIgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogLTAuODEyNXJlbTtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cblxuLnByaW1hcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByaW1hcnktaW1hZ2VfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAucHJpbWFyeS1pbWFnZV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcmltYXJ5LWltYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnByaW1hcnktaW1hZ2UtLXZlaGljbGUgLnByaW1hcnktaW1hZ2VfX2ltYWdlIGltZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zZWNvbmRhcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY29uZGFyeS1pbWFnZV9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuc2Vjb25kYXJ5LWltYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY29uZGFyeS1pbWFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi52aWRlb19fdXJsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnZpZGVvX191cmwgaWZyYW1lLFxuICAudmlkZW9fX3VybCBvYmplY3QsXG4gIC52aWRlb19fdXJsIGVtYmVkLFxuICAudmlkZW9fX3VybCB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4udmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RvcCB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190b3AtaW5uZXI6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wLWlubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RvcC1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wIC5uZXctdmVoaWNsZV9fcHJvbW8tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgdG9wOiBpbmhlcml0O1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fYmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fYmFjazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fYmFjayBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrIGEgaSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrIGEgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWEge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyAubmV3LXZlaGljbGVfX2RldGFpbHMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyAubmV3LXZlaGljbGVfX2RldGFpbHMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMgLm5ldy12ZWhpY2xlX19kZXRhaWxzLWlubmVyIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMgLm5ldy12ZWhpY2xlX19kZXRhaWxzLWlubmVyIC5uZXctdmVoaWNsZV9fdGl0bGUgLm5ldy12ZWhpY2xlX19tb2RlbC12YXJpYW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyAubmV3LXZlaGljbGVfX2RldGFpbHMtaW5uZXIgLm5ldy12ZWhpY2xlX19wcmljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciAubmV3LXZlaGljbGVfX3RlbGVwaG9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciAubmV3LXZlaGljbGVfX3RlbGVwaG9uZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciAubmV3LXZlaGljbGVfX2N0YSB7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fcGFydC1leGNoYW5nZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCwgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjb250ZW50OiAnICc7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBpbnB1dCxcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHNlbGVjdCxcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIGEsXG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWw6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgLnNob3cgYSB7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgLnNob3cgYTpob3ZlciwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGVzY3JpcHRpb24ge1xuICBsaW5lLWhlaWdodDogMS44OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uIC5leHBhbmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMxMTExMTEgMCUsICMxMTExMTEgMjUlLCByZ2JhKDE3LCAxNywgMTcsIDApIDEwMCUpOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXIsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fY29udGVudDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQtb3V0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LW91dGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uX192YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbi1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbi1idXR0b24gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RvY3VtZW50cyB1bCxcbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2F1ZGlvIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZG9jdW1lbnRzIHVsIGxpLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19hdWRpbyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zaW1pbGFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDsgfVxuXG4ubmV3LXZlaGljbGUtLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tdGVhc2VyIC5uZXctdmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2hlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5uZXctdmVoaWNsZS0tdGVhc2VyIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX190aXRsZSAubmV3LXZlaGljbGVfX21ha2UsXG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX190aXRsZSAubmV3LXZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX3RpdGxlIC5uZXctdmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX19mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uZXctdmVoaWNsZV9fbWVkaWEtY291bnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuICAubmV3LXZlaGljbGVfX21lZGlhLWNvdW50ID4gdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsgfVxuICAgIC5uZXctdmVoaWNsZV9fbWVkaWEtY291bnQgPiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjEyNXJlbTsgfVxuICAgICAgLm5ldy12ZWhpY2xlX19tZWRpYS1jb3VudCA+IHVsIGxpIGkge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5uZXctdmVoaWNsZV9fcHJvbW8tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjVyZW07XG4gIGxlZnQ6IDAuNXJlbTsgfVxuICAubmV3LXZlaGljbGVfX3Byb21vLXRleHQgc3BhbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm9mZmVyLS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5vZmZlci0tZmVhdHVyZWQ6OmJlZm9yZSwgLm9mZmVyLS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAub2ZmZXItLWZlYXR1cmVkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWw6OmJlZm9yZSwgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbixcbi5vZmZlci0tZnVsbCAub2ZmZXJfX3RhYmxlIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZGVzY3JpcHRpb24sXG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdGFibGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQsXG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3RhYmxlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX190YWJsZSBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIsXG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdGFibGUgcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fZmlsZXMgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19maWxlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtIHtcbiAgY2xlYXI6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ub2ZmZXItLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vZmZlci0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLm9mZmVyLS10ZWFzZXI6OmJlZm9yZSwgLm9mZmVyLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm9mZmVyLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWRkLW9uIHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWRkLW9uIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5hZGQtb24gc3Bhbi5oYXMtZXJyb3Ige1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5hZGQtb25fX2lubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hZGQtb25fX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZGQtb25fX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLmFkZC1vbl9faW5uZXI6OmJlZm9yZSwgLmFkZC1vbl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmFkZC1vbl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hZGQtb25fX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWRkLW9uX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hZGQtb25fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZGQtb25fX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFkZC1vbl9faW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hZGQtb25fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmFkZC1vbl9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hZGQtb25fX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFkZC1vbl9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hZGQtb25fX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmFkZC1vbl9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFkZC1vbl9fbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuYWRkLW9uX19saW5rIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWRkLW9uX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmFkZC1vbl9fdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gICAgLmFkZC1vbl9fdmlkZW8gYTpob3ZlcixcbiAgICAuYWRkLW9uX192aWRlbyBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hZGQtb25fX3ZpZGVvIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYWRkLW9uX192aWRlby1hcHByb3ZhbCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmFkZC1vbi0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MTQxNDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWRkLW9uLS1pbWFnZSAuYWRkLW9uX19kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZGQtb24tLWltYWdlIC5hZGQtb25fX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFkZC1vbi0taW1hZ2UgLmFkZC1vbl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdDo6YmVmb3JlLCAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhbGVuZGFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC5jYWxlbmRhcl9faGVhZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyOjpiZWZvcmUsIC5jYWxlbmRhcl9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX3N3aXRjaCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19zd2l0Y2ggYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTsgfVxuICAgICAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19zd2l0Y2gtLW5leHQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX3N3aXRjaC0tbmV4dCBhIGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGgge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGgge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNhbGVuZGFyX190YWJsZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5jYWxlbmRhcl9fdGFibGUgdGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5zbG90IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAuY2FsZW5kYXJfX3RhYmxlIHRhYmxlIHRkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY2FsZW5kYXJfX3RhYmxlIHRhYmxlIHRkLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5OyB9XG4gICAgICAgIC5jYWxlbmRhcl9fdGFibGUgdGFibGUgdGQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5jbG9zZWQge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cbiAgICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5jbG9zZWQ6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cblxuLnJldmVhbC5yZXZlYWwtLWNvbGxlY3Rpb24tbWFwIHtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9XG5cbiNjb2xsZWN0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDAlOyB9XG5cbi5jb2xsZWN0aW9uLWRlbGl2ZXJ5IHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeSB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeS0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MTQxNDE7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2lubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19pbm5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW5uZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW5uZXI6OmJlZm9yZSwgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2lubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fYWRkcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX21hcCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fbWFwIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2xpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2xpbmsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnktLWltYWdlIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5LS1pbWFnZSAuY29sbGVjdGlvbi1kZWxpdmVyeV9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeS0taW1hZ2UgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1pbnRyb2R1Y3Rpb25fX2NvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLm9yZGVyLWludHJvZHVjdGlvbl9fY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm9yZGVyLWludHJvZHVjdGlvbl9fY29udGVudCBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5vcmRlci1pbnRyb2R1Y3Rpb25fX2NvbnRlbnQgcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm9yZGVyLWludHJvZHVjdGlvbl9fbGluayAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ub3JkZXItcGF5bWVudCB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLm9yZGVyLXBheW1lbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAub3JkZXItcGF5bWVudF9fbGluayAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1wcm9ncmVzc19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3Q6OmJlZm9yZSwgLm9yZGVyLXByb2dyZXNzX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdCBsaS5hY3RpdmUgLm9yZGVyLXByb2dyZXNzX19iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0yID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTIgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMiA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0yID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTMgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMyA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS00ID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm9yZGVyLXByb2dyZXNzX19saXN0LS01ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTUgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNSA+IGxpOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS01ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTYgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5vcmRlci1wcm9ncmVzc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAub3JkZXItcHJvZ3Jlc3NfX3N1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLm9yZGVyLXByb2dyZXNzX19iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fYmFyIHtcbiAgICAgIGhlaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXN1bW1hcnkgdWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm9yZGVyLXN1bW1hcnkgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1zdW1tYXJ5IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlci1zdW1tYXJ5IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5vcmRlci1zdW1tYXJ5IC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAub3JkZXI6OmJlZm9yZSwgLm9yZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5vcmRlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vcmRlcl9fcHJvZ3Jlc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXJfX3Byb2dyZXNzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyX19wcm9ncmVzczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXJfX3Byb2dyZXNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAub3JkZXJfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vcmRlcl9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vcmRlcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm9yZGVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vcmRlcl9fc3VtbWFyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlcl9fc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlcl9fc3VtbWFyeTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXJfX3N1bW1hcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vcmRlcl9fc3VtbWFyeSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vcmRlcl9fc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm9yZGVyX19zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vcmRlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44OyB9XG4gIC5vcmRlcl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlcl9fZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAgIC5vcmRlcl9fZm9vdGVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFydC1leGNoYW5nZV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC1leGNoYW5nZV9fZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH0gfVxuICAucGFydC1leGNoYW5nZV9fZm9vdGVyIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG5cbi5wYWdlLS10ZWFzZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucGFnZS0tdGVhc2VyOjpiZWZvcmUsIC5wYWdlLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19jb250ZW50LS13aXRob3V0LW1lZGlhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2NvbnRlbnQtLXdpdGhvdXQtbWVkaWEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19jb250ZW50LS13aXRob3V0LW1lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhcnQtLWZlYXR1cmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYXJ0LS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wYXJ0LS1mZWF0dXJlZDo6YmVmb3JlLCAucGFydC0tZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhcnQtLWZlYXR1cmVkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fbGluayAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYXJ0LS1mdWxsIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucGFydC0tZnVsbCAucGFydF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tZnVsbCAucGFydF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbi5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnBhcnQtLWZ1bGwgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Rlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFydC0tZnVsbCAucGFydF9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucGFydC0tZnVsbCAucGFydF9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBhcnQtLWZ1bGwgLnBhcnRfX2ZpbGVzIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtIHtcbiAgY2xlYXI6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLnBhcnQtLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLXRlYXNlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhcnQtLXRlYXNlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wYXJ0LS10ZWFzZXI6OmJlZm9yZSwgLnBhcnQtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFydC0tdGVhc2VyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhcnQtLXRlYXNlciAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLXRlYXNlciAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLXRlYXNlciAucGFydF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBhcnQtLXRlYXNlciAucGFydF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubWV0YSA+IHVsIHtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1ldGEgPiB1bCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTsgfVxuXG4ubWV0YV9fcHVibGlzaGVkIHNwYW4ge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5tZXRhX19jYXRlZ29yaWVzLXRpdGxlLCAubWV0YV9fdGFncy10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cblxuLm1ldGFfX2NhdGVnb3JpZXMgdWwsIC5tZXRhX190YWdzIHVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1ldGFfX2NhdGVnb3JpZXMgdWwgbGksIC5tZXRhX190YWdzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5tZXRhX19jYXRlZ29yaWVzIHVsIGxpOjphZnRlciwgLm1ldGFfX3RhZ3MgdWwgbGk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5tZXRhX19jYXRlZ29yaWVzIHVsIGxpOmxhc3QtY2hpbGQ6OmFmdGVyLCAubWV0YV9fdGFncyB1bCBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ucG9zdC0tZGVmYXVsdCAucG9zdF9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wb3N0LS1kZWZhdWx0IC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucG9zdC0tZGVmYXVsdCAucG9zdF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZGVmYXVsdCAucG9zdF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbi5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnBvc3QtLWRlZmF1bHQgLnBvc3RfX2ZpbGVzIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5wb3N0LS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdC0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucG9zdC0tZmVhdHVyZWQ6OmJlZm9yZSwgLnBvc3QtLWZlYXR1cmVkOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wb3N0LS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB7XG4gICAgd2lkdGg6IDI1cmVtOyB9IH1cblxuLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsOjpiZWZvcmUsIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fZmlsZXMgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fZmlsZXMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnBvc3QtLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLXRlYXNlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtLXRlYXNlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wb3N0LS10ZWFzZXI6OmJlZm9yZSwgLnBvc3QtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucG9zdC0tdGVhc2VyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBvc3QtLXRlYXNlciAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLXRlYXNlciAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLXRlYXNlciAucG9zdF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBvc3QtLXRlYXNlciAucG9zdF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucXVpY2stc2VhcmNoIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdWljay1zZWFyY2gge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5xdWljay1zZWFyY2gge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucXVpY2stc2VhcmNoOjpiZWZvcmUsIC5xdWljay1zZWFyY2g6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnF1aWNrLXNlYXJjaDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5xdWljay1zZWFyY2hfX2xlZ2VuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucXVpY2stc2VhcmNoX19sZWdlbmQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucXVpY2stc2VhcmNoX19sZWdlbmQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucXVpY2stc2VhcmNoIC5maWVsZC1zZWFyY2gtc3RyaW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZzpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucXVpY2stc2VhcmNoIC5maWVsZC1zZWFyY2gtc3RyaW5nIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZzpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucXVpY2stc2VhcmNoIC5maWVsZC1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0IC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0IC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNlYXJjaC1zZWxlY3Rpb25fX2NvdW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2VhcmNoLXNlbGVjdGlvbl9fdGl0bGU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTsgfVxuICAuc2VhcmNoLXNlbGVjdGlvbl9fdGl0bGUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuc2VhcmNoLXNlbGVjdGlvbl9fdGl0bGUgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNlYXJjaC1zZWxlY3Rpb25fX3BhcmFtZXRlcnMge1xuICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1zZWxlY3Rpb25fX3BhcmFtZXRlcnMge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAuc2VhcmNoLXNlbGVjdGlvbl9fcGFyYW1ldGVyczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNlYXJjaC1zZWxlY3Rpb25fX2xpc3Qge1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNlYXJjaC1zZWxlY3Rpb25fX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMC4zMTI1cmVtIDAuMzEyNXJlbSAwOyB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX19wYXJhbWV0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjM3NXJlbSAwLjMxMjVyZW0gMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAuOTM3NXJlbTsgfVxuICAuc2VhcmNoLXNlbGVjdGlvbl9fcGFyYW1ldGVyOmhvdmVyIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cbiAgLnNlYXJjaC1zZWxlY3Rpb25fX3BhcmFtZXRlciBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07XG4gICAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5zaG93cm9vbS0tZmVhdHVyZWQgLnNob3dyb29tX19wcmltYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbi5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsOjpiZWZvcmUsIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX2Rlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zaG93cm9vbS0tdGVhc2VyIC5zaG93cm9vbV9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucHJpY2VfX3RvdGFsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5wcmljZV9fc29sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5wcmljZS0tdGVhc2VyID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5wcmljZS0tdGVhc2VyID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnByaWNlLS1mdWxsIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLWZ1bGwgLnByaWNlX19zb2xkIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmljZS0tZnVsbCAucHJpY2VfX3RvdGFsLFxuICAgIC5wcmljZS0tZnVsbCAucHJpY2VfX3NvbGQge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfSB9XG5cbi5wcmljZS0tZnVsbCAucHJpY2VfX21vbnRobHkge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4ucHJpY2UtLWNvbXBhcmUgLnByaWNlX190b3RhbCxcbi5wcmljZS0tY29tcGFyZSAucHJpY2VfX3NvbGQge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5wcmljZS0tcmVjZW50bHktdmlld2VkIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLXJlY2VudGx5LXZpZXdlZCAucHJpY2VfX3NvbGQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucHJpY2UtY29tYmluZWRfX3ZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wcmljZS1jb21iaW5lZF9fdmF0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiA2NSU7IH1cblxuLnByaWNlLWNvbWJpbmVkX193YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5wcmljZS1jb21iaW5lZF9fd2FzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDY1JTsgfVxuICAucHJpY2UtY29tYmluZWRfX3dhcy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiA3NSU7IH1cblxuLnNwZWNpZmljYXRpb25fX3ZhbHVlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnZlaGljbGUtLWNvbXBhcmUgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgaGVpZ2h0OiAxMS4yNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1jb21wYXJlIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7IH0gfVxuXG4udmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnZlaGljbGUtLWNvbXBhcmUgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gbGkge1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgICAudmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG5cbi52ZWhpY2xlLS1jb21wYXJlIC52ZWhpY2xlX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC52ZWhpY2xlLS1jb21wYXJlIC52ZWhpY2xlX19mb290ZXIgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMDYyNXJlbTsgfVxuXG4udmVoaWNsZS0tZ2VuZXJhbCB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC52ZWhpY2xlLS1nZW5lcmFsOjpiZWZvcmUsIC52ZWhpY2xlLS1nZW5lcmFsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1nZW5lcmFsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmxhc3QtY2hpbGQgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi52ZWhpY2xlLS1sYXRlc3Qge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAudmVoaWNsZS0tbGF0ZXN0OjpiZWZvcmUsIC52ZWhpY2xlLS1sYXRlc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWxhdGVzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tb2RlbCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cbiAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG4gICAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bGFzdC1jaGlsZCAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQ6OmJlZm9yZSwgLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tcmVjZW50bHktdmlld2VkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4zNzVyZW0gMDsgfVxuICAudmVoaWNsZS0tcmVjZW50bHktdmlld2VkIC52ZWhpY2xlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubC1hbGVydCB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5sLWFsZXJ0OjpiZWZvcmUsIC5sLWFsZXJ0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5sLWFsZXJ0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1hbGVydCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLWFsZXJ0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubC1hbGVydCwgLmwtYWxlcnQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuLmwtYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jcmVkaXQtY2FsY3VsYXRvci0tZnVsbCAuY3JlZGl0LWNhbGN1bGF0b3JfX3Jlc3VsdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiAuZmFuY3lib3gtbG9hZGluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBiIC44cyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZpbmFuY2UtcHJpY2Uge1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuZmluYW5jZS1wcmljZV9fbGlzdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmZpbmFuY2UtcHJpY2VfX2xpc3QtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLmZpbmFuY2UtcHJpY2VfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDY1JTsgfVxuICAuZmluYW5jZS1wcmljZV9fdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZpbmFuY2UtcHJpY2VfX3N1ZmZpeCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNjUlOyB9XG4gIC5maW5hbmNlLXByaWNlLS1mdWxsIC5maW5hbmNlLXByaWNlX19saXN0LWl0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgICBjb250ZW50OiAnb3InOyB9XG4gIC5maW5hbmNlLXByaWNlLS1mdWxsIC5maW5hbmNlLXByaWNlX19saXN0LWl0ZW06bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpbmFuY2UtcHJpY2UtLWZ1bGwgLmZpbmFuY2UtcHJpY2VfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmZpbmFuY2UtZm9ybSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLWZvcm06OmJlZm9yZSwgLmZpbmFuY2UtZm9ybTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZmluYW5jZS1mb3JtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWZvcm0gLmZpbmFuY2UtZm9ybV9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmZpbmFuY2UtZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5maW5hbmNlLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5maW5hbmNlLWZvcm0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpbmFuY2Utc3VtbWFyeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpbmFuY2UtdGFibGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5maW5hbmNlLXRhYmxlcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLXRhYmxlczo6YmVmb3JlLCAuZmluYW5jZS10YWJsZXM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZpbmFuY2UtdGFibGVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5maW5hbmNlLXRhYmxlcyA+IC5maW5hbmNlLXRhYmxlOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGU6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzLS0zID4gLmZpbmFuY2UtdGFibGU6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzLS0zID4gLmZpbmFuY2UtdGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZpbmFuY2UtdGFibGUtLXRlYXNlciB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAuZmluYW5jZS10YWJsZS0tdGVhc2VyIHRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLXRlYXNlciB0YWJsZSB0aGVhZCB0aCxcbiAgICAuZmluYW5jZS10YWJsZS0tdGVhc2VyIHRhYmxlIHRoZWFkIHRkLFxuICAgIC5maW5hbmNlLXRhYmxlLS10ZWFzZXIgdGFibGUgdGJvZHkgdGQge1xuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLXRlYXNlciB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLXRlYXNlciB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmluYW5jZS1leGFtcGxlIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDAuOTM3NXJlbTsgfVxuICAuZmluYW5jZS1leGFtcGxlX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI5MjkyOTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRoLFxuICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyOTI5Mjk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRoOmxhc3QtY2hpbGQsXG4gICAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGhlYWQsXG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGJvZHksXG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGZvb3Qge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRoZWFkIHRoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGJvZHkgdGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjkyOTI5OyB9XG4gIC5maW5hbmNlLWV4YW1wbGVfX2Rpc2NsYWltZXIge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmZpbmFuY2UtZGlzY2xhaW1lciB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5maW5hbmNlLWRpc2NsYWltZXItLWZ1bGwge1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZpbmFuY2UtY2hlY2tlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1jaGVja2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS1jaGVja2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmZpbmFuY2UtY2hlY2tlcjo6YmVmb3JlLCAuZmluYW5jZS1jaGVja2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5maW5hbmNlLWNoZWNrZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZmluYW5jZS1jaGVja2VyX192aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlbyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fdmlkZW8ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fdmlkZW8taW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBpZnJhbWUsXG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBvYmplY3QsXG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBlbWJlZCxcbiAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvLWlubmVyIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtaW1hZ2UgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTMuNzVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH0gfVxuICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsOjpiZWZvcmUsIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbmFuY2Utd2lkZ2V0X192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZpbmFuY2Utd2lkZ2V0X192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2Utd2lkZ2V0X192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5maW5hbmNlLXdpZGdldF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvcyB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbmFuY2Utd2lkZ2V0X192aWRlb3MgdWwgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgLmZpbmFuY2Utd2lkZ2V0X192aWRlb3MgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpbmFuY2Utd2lkZ2V0X192aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maW5hbmNlLXdpZGdldF9fdmlkZW8gaWZyYW1lLFxuICAuZmluYW5jZS13aWRnZXRfX3ZpZGVvIG9iamVjdCxcbiAgLmZpbmFuY2Utd2lkZ2V0X192aWRlbyBlbWJlZCxcbiAgLmZpbmFuY2Utd2lkZ2V0X192aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uZmluYW5jZS1sYXVuY2hlciBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZmluYW5jZS1sYXVuY2hlciBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5maW5hbmNlLWxhdW5jaGVyIGE6aG92ZXIsIC5maW5hbmNlLWxhdW5jaGVyIGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmZpbmFuY2UtbGF1bmNoZXIgYSAuY3ctdmlldy1jb3VudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA3NSU7IH1cblxuLmZpbmFuY2UtZm9ybS1vcmRlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybS1vcmRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybS1vcmRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLWZvcm0tb3JkZXI6OmJlZm9yZSwgLmZpbmFuY2UtZm9ybS1vcmRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZmluYW5jZS1mb3JtLW9yZGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtZm9ybS1vcmRlcl9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtZm9ybS1vcmRlcl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS1mb3JtLW9yZGVyX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuZmluYW5jZS1mb3JtLW9yZGVyIC5mb3JtLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLWZvcm0tb3JkZXIgLmZvcm0tZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS1mb3JtLW9yZGVyIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZpbmFuY2UtZm9ybS1vcmRlciAuZm9ybS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybS1vcmRlciAuZm9ybS1ncm91cCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZmluYW5jZS1mb3JtLW9yZGVyIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZpbmFuY2UtZm9ybS1vcmRlciAuZm9ybS1ncm91cCAuaGVscC1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZmluYW5jZS1mb3JtLW9yZGVyIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZmluYW5jZS1mb3JtLW9yZGVyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH0gfVxuXG4uZmluYW5jZS10YWJsZS0tb3JkZXIsXG4uZmluYW5jZS10YWJsZS0tZnVsbCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyLFxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZS0tb3JkZXIsXG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZmluYW5jZS10YWJsZS0tb3JkZXI6OmJlZm9yZSwgLmZpbmFuY2UtdGFibGUtLW9yZGVyOjphZnRlcixcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGw6OmJlZm9yZSxcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZpbmFuY2UtdGFibGUtLW9yZGVyOjphZnRlcixcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyID4gLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcixcbiAgICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsID4gLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bnRoLW9mLXR5cGUoMW4pLFxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsID4gLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZmluYW5jZS10YWJsZS0tb3JkZXIgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyOm50aC1vZi10eXBlKDFuKzEpLFxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsID4gLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcjpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bGFzdC1jaGlsZCxcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXIsXG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXIsXG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bnRoLW9mLXR5cGUoMW4pLFxuICAgICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZmluYW5jZS10YWJsZS0tb3JkZXIgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyOm50aC1vZi10eXBlKDJuKzEpLFxuICAgICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgPiAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciA+IC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bGFzdC1jaGlsZCxcbiAgICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsID4gLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcixcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19jb250YWluZXI6bGFzdC1jaGlsZCxcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5maW5hbmNlLXRhYmxlLS1vcmRlciAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyIHVsLFxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19jb250YWluZXIgdWwgbGksXG4gICAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyOTI5Mjk7IH1cbiAgICAgICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19jb250YWluZXIgdWwgbGk6bGFzdC1jaGlsZCxcbiAgICAgICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX190aXRsZSxcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maW5hbmNlLXRhYmxlLS1vcmRlciAuZmluYW5jZS10YWJsZV9fc3ViLXRpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19saW5rLFxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX2FwcGx5LFxuICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX2RlYWwsXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19saW5rLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fYXBwbHksXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19kZWFsIHtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX2xpbmsgLmJ1dHRvbixcbiAgICAuZmluYW5jZS10YWJsZS0tb3JkZXIgLmZpbmFuY2UtdGFibGVfX2FwcGx5IC5idXR0b24sXG4gICAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19kZWFsIC5idXR0b24sXG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2xpbmsgLmJ1dHRvbixcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fYXBwbHkgLmJ1dHRvbixcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fZGVhbCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZpbmFuY2UtdGFibGUtLW9yZGVyIC5maW5hbmNlLXRhYmxlX19kaXNjbGFpbWVyLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fZGlzY2xhaW1lciB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5maW5hbmNlLW5vLXJlc3VsdHMge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cblxuLmZpbmFuY2UtaXRlbSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZpbmFuY2UtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLWl0ZW06OmJlZm9yZSwgLmZpbmFuY2UtaXRlbTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZmluYW5jZS1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtaXRlbV9fbGFiZWwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1pdGVtX19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWl0ZW1fX2xhYmVsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5maW5hbmNlLWl0ZW1fX3ZhbHVlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1pdGVtX192YWx1ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWl0ZW1fX3ZhbHVlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmNhcmQge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5jYXJkIC5jYXJkLWRpdmlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5jYXJkIC5jYXJkLWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5jYXJkIC5jYXJkLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuY2FyZCAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9IH1cblxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fcm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX19yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX3JvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX3Jvdzo6YmVmb3JlLCAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX19yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fcm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fY29sdW1uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX2NvbHVtbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX2NvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX19jb2x1bW4ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fY29sdW1uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX2NvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmZpbmFuY2UtcHJvcG9zYWwtZm9ybSAuZm9ybV9fZGVzY3JpcGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uZmluYW5jZS1wcm9wb3NhbC1mb3JtIC5mb3JtX19kaXNjbGFpbWVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5maW5hbmNlLXByb3Bvc2FsLWZvcm0gLmZvcm1fX2xpbmsgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpbmFuY2UtcHJvcG9zYWwtcGx1Z2luIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbi5yZXZpZXctc3VtbWFyeV9fdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucmV2aWV3LXN1bW1hcnlfX2F2ZXJhZ2Uge1xuICBmb250LXNpemU6IDMuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5yZXZpZXctc3VtbWFyeV9fYXZlcmFnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDUwJTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5yZXZpZXctc3VtbWFyeV9fdG90YWwtcmVzcG9uc2VzIHtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5yZXZpZXctc3VtbWFyeV9fbGluayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZpZXctc3VtbWFyeV9fbGluayBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5yZXZpZXctc3VtbWFyeV9fbGluayBhOmhvdmVyLCAucmV2aWV3LXN1bW1hcnlfX2xpbmsgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ucmV2aWV3LWxpc3RpbmdfX2hlYWRlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmlldy1saXN0aW5nX19oZWFkZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlcjo6YmVmb3JlLCAucmV2aWV3LWxpc3RpbmdfX2hlYWRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLWZpcnN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLWZpcnN0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItZmlyc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItZmlyc3Qge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1maXJzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItZmlyc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmlldy1saXN0aW5nX19oZWFkZXItc2Vjb25kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLXNlY29uZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLXNlY29uZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLXNlY29uZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ucmV2aWV3LWxpc3RpbmdfX2xvZ28ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2aWV3LWxpc3RpbmdfX3N1bW1hcnkge1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5yZXZpZXctbGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucmV2aWV3LWxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4ucmV2aWV3LWxpc3RpbmdfX2xpbmsgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2aWV3LWxpc3RpbmdfX2xpbmsgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAucmV2aWV3LWxpc3RpbmdfX2xpbmsgYTpob3ZlciwgLnJldmlldy1saXN0aW5nX19saW5rIGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnJldmlldyB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmlldyB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAucmV2aWV3X19oZWFkZXIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXdfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmV2aWV3X19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2aWV3X19oZWFkZXI6OmJlZm9yZSwgLnJldmlld19faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5yZXZpZXdfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucmV2aWV3X19oZWFkZXItZmlyc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1maXJzdCB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmlld19faGVhZGVyLWZpcnN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmlld19fZGF0ZSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5yZXZpZXdfX3JhdGluZy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAucmV2aWV3X19saW5rIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXdfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnJldmlld19fbGluayBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucmV2aWV3X19saW5rIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnJldmlldy1yYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMC4wNjI1cmVtO1xuICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvcmUvaW1nL2ZlZWZvL3N0YXJzLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMy40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXZpZXctcmF0aW5nX19pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMS42ODc1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb3JlL2ltZy9mZWVmby9zdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycmVtIDMuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7IH1cbiAgICAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgaDIsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5jdXN0b20tZW50cnlfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLCAub2ZmZXItLWZlYXR1cmVkIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub2ZmZXJfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZm9ybS10aXRsZSwgLm9mZmVyLS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub2ZmZXJfX2Zvcm0tdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsIC5wYWdlLS10ZWFzZXIgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUsIC5wYXJ0LS1mZWF0dXJlZCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhcnRfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsIC5wYXJ0LS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAucGFydF9fZm9ybS10aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUsIC5wb3N0LS1mZWF0dXJlZCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBvc3RfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tZ2VuZXJhbCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGVfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1sYXRlc3QgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLmxpc3RpbmdfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAubGlzdGluZ19fdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3RpdGxlLCAuY3VzdG9tLWVudHJ5LS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLCAucGFnZS0tY29udGFjdCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSwgLnBhZ2UtLWRlZmF1bHQgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlX19mb3JtLXRpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSwgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tZmVhdHVyZWQgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlLXRpdGxlLCAudmVoaWNsZS0tZnVsbCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGVfX2ZpbmFuY2UtdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlbGVwaG9uZSBzcGFuIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSBhLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGVfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS10ZWFzZXIgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuICAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4gIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjNzc3Nzc3O1xuICAgICAgICB6LWluZGV4OiA0MDA7IH0gfVxuICAuYWNjb3JkaW9uID4gbGkgLmFjY29yZGlvbi1jb250ZW50LS1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hY2NvcmRpb24tLWJhc2ljID4gbGkgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYWNjb3JkaW9uLS1iYXNpYyA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpmb2N1cyxcbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpob3ZlcixcbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY2NvcmRpb24tLWJhc2ljID4gbGkgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmJyZWFkY3J1bWJzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuYnJlYWRjcnVtYnMsIC5icmVhZGNydW1iczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAuYnJlYWRjcnVtYnMgbGkgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyBsaSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgICAgIG1hcmdpbjogMCAwLjM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5idXR0b24ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAuYnV0dG9uLS1hbGVydCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLS1hbGVydCB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmJ1dHRvbi0tYWxlcnQ6aG92ZXIsIC5idXR0b24tLWFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLS1maWx0ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLmJ1dHRvbi0tZmlsdGVyIGkge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAuYnV0dG9uLS1mdWxsLXdpZHRoLCAuYnV0dG9uLS1uby1tYXJnaW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLS1mdWxsLXdpZHRoLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbi0tbm8tbWFyZ2luIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYnV0dG9uLS1mdWxsLXdpZHRoOmhvdmVyLCAuYnV0dG9uLS1mdWxsLXdpZHRoOmZvY3VzLCAuYnV0dG9uLS1uby1tYXJnaW46aG92ZXIsIC5idXR0b24tLW5vLW1hcmdpbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi0tc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE5YWUxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbi0tc2VhcmNoIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYnV0dG9uLS1zZWFyY2g6aG92ZXIsIC5idXR0b24tLXNlYXJjaDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU3YmI0O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi0tcmVzZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24tLXJlc2V0IHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYnV0dG9uLS1yZXNldDpob3ZlciwgLmJ1dHRvbi0tcmVzZXQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNWY1ZjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tLXNlY29uZGFyeS1jb2xvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24tLXNlY29uZGFyeS1jb2xvciB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmJ1dHRvbi0tc2Vjb25kYXJ5LWNvbG9yOmhvdmVyLCAuYnV0dG9uLS1zZWNvbmRhcnktY29sb3I6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDM0MztcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYnV0dG9uLS14c21hbGwge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5idXR0b24tLW91dGxpbmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc3Nzc3NztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLS1vdXRsaW5lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExOWFlMTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTdiYjQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uY3JlZGl0cyB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNyZWRpdHM6OmJlZm9yZSwgLmNyZWRpdHM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmNyZWRpdHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcmVkaXRzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNyZWRpdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jcmVkaXRzLCAuY3JlZGl0czpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcmVkaXRzID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNyZWRpdHNfX2NvbXBhbnkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG4gIC5jcmVkaXRzX19jb21wYW55IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRpc2NsYWltZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmRpc2NsYWltZXIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZGlzY2xhaW1lciBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmljb246OmJlZm9yZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGRpcmVjdGlvbjogbHRyO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaWNvbi0tYXJyb3ctYmFjazo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1YzQnOyB9XG5cbi5pY29uLS1hcnJvdy1mb3J3YXJkOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjOCc7IH1cblxuLmljb24tLWJpa2U6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTJmJzsgfVxuXG4uaWNvbi0tY2FyOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTUzMSc7IH1cblxuLmljb24tLWNoZXZyb24tbGVmdDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1Y2InOyB9XG5cbi5pY29uLS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjYyc7IH1cblxuLmljb24tLWNsb2NrOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTg1NSc7IH1cblxuLmljb24tLWZpbmFuY2U6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODc3JzsgfVxuXG4uaWNvbi0tZW5sYXJnZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1NmInOyB9XG5cbi5pY29uLS1leHBhbmQtbGVzczo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1Y2UnOyB9XG5cbi5pY29uLS1leHBhbmQtbW9yZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1Y2YnOyB9XG5cbi5pY29uLS1kb2N1bWVudDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4NzMnOyB9XG5cbi5pY29uLS1mYWNlYm9vazo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cblxuLmljb24tLWZpbHRlcjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGUxNTInOyB9XG5cbi5pY29uLS1nb29nbGUtcGx1czo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7IH1cblxuLmljb24tLWltYWdlLWxpYnJhcnk6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNDEzJzsgfVxuXG4uaWNvbi0taW5mbzo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbnRlbnQ6ICdcXGU4OGYnOyB9XG5cbi5pY29uLS1saW5rZWRpbjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7IH1cblxuLmljb24tLW1haWw6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlMTU4JzsgfVxuXG4uaWNvbi0tbWVudTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1ZDInOyB9XG5cbi5pY29uLS1wbGF5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTAzOSc7IH1cblxuLmljb24tLXBob25lOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTBjZCc7IH1cblxuLmljb24tLW1vYmlsZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGUzMmMnOyB9XG5cbi5pY29uLS1yZWNlbnQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODg5JzsgfVxuXG4uaWNvbi0tc2hhcmU6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODBkJzsgfVxuXG4uaWNvbi0tc2F2ZWQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODdkJzsgfVxuXG4uaWNvbi0tc2VhcmNoOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZThiNic7IH1cblxuLmljb24tLXNtczo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU2MjUnOyB9XG5cbi5pY29uLS10cmFuc2l0OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTUzNSc7IH1cblxuLmljb24tLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5pY29uLS1wcmludDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4YWQnOyB9XG5cbi5pY29uLS12aWRlby1saWJyYXJ5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTA0YSc7IH1cblxuLmljb24tLXdhbGs6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTM2JzsgfVxuXG4uaWNvbi0td2hhdHNhcHA6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjIzMlwiOyB9XG5cbi5saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0aW5nLS1ibG9jayB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTsgfVxuICAubGlzdGluZy0tYmxvY2s6OmJlZm9yZSwgLmxpc3RpbmctLWJsb2NrOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1ibG9jazo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWJsb2NrOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubGlzdGluZy0tYmxvY2ssIC5saXN0aW5nLS1ibG9jazpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ubGlzdGluZy0tYmxvY2stZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAubGlzdGluZy0tYmxvY2stZm9vdGVyOjpiZWZvcmUsIC5saXN0aW5nLS1ibG9jay1mb290ZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLWJsb2NrLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLWJsb2NrLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1ibG9jay1mb290ZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5saXN0aW5nLS1ibG9jay1mb290ZXIsIC5saXN0aW5nLS1ibG9jay1mb290ZXI6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmxpc3RpbmctLWJsb2NrLWZvb3RlciAubGlzdGluZ19fbGlzdCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmxpc3RpbmctLWJsb2NrLWZvb3RlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtOyB9XG5cbi5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdDo6YmVmb3JlLCAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdCwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCwgLmxpc3RpbmctLXBhcnQtdGVhc2VyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdCwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wYXJ0LXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdDo6YmVmb3JlLCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyLCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmJlZm9yZSwgLmxpc3RpbmctLXBhcnQtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBhcnQtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGksIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpLCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGksIC5saXN0aW5nLS1wYXJ0LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbiksIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pLCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSksIC5saXN0aW5nLS1wYXJ0LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkLCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkLCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0sIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtLCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSwgLmxpc3RpbmctLXBhcnQtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0sIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtLCAubGlzdGluZy0tcGFydC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQsIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQsIC5saXN0aW5nLS1wYXJ0LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbi5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5saXN0aW5nLS1vZmZlci10ZWFzZXIgI2pzLW9mZmVyLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1vZmZlci10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmJlZm9yZSwgLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tb2ZmZXItdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1vZmZlci10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1vZmZlci10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tb2ZmZXItdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGlzdGluZy0tb2ZmZXItdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGlzdGluZy0tb2ZmZXItdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLW9mZmVyLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4ubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjpiZWZvcmUsIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2Rlc2NyaXB0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyOjpiZWZvcmUsIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2l0ZW0tY291bnQge1xuICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cbiAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faXRlbS1jb3VudCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdGluZy0tbmV3LXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5saXN0aW5nLS1uZXctdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmxpc3RpbmctLW5ldy12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmxpc3RpbmctLXNob3dyb29tLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5saXN0aW5nLS1zaG93cm9vbS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tc2hvd3Jvb20tdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fcmVtb3ZlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLmxpc3RpbmdfX2tleSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkgdWwge1xuICAgICAgbWFyZ2luOiAxMy45Mzc1cmVtIDAgMCAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHVsIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMCAwIDAuOTM3NXJlbTsgfVxuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkgdWwgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX3RpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX25vLWl0ZW1zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZDo6YmVmb3JlLCAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZDo6YWZ0ZXIsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdDo6YmVmb3JlLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQ6OmFmdGVyLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLCAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZDpsYXN0LWNoaWxkLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1nZW5lcmFsLCAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWw6OmJlZm9yZSwgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbDo6YWZ0ZXIsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXI6OmJlZm9yZSwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1nZW5lcmFsOjphZnRlciwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCwgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbDpsYXN0LWNoaWxkLCAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyLCAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1nZW5lcmFsIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gIHBhZGRpbmctdG9wOiAxLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXItdG9wIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlci10b3A6OmJlZm9yZSwgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXItdG9wOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyLXRvcDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXItdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyLWJvdHRvbSB7XG4gICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXItYm90dG9tOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyLWJvdHRvbTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlci1ib3R0b206OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXItYm90dG9tOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyLWJvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlci1ib3R0b20ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyLWJvdHRvbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fdGl0bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fdGl0bGUge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2Rlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2Rlc2NyaXB0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLnZlaGljbGUtb3JkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLnZlaGljbGUtb3JkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC5maWVsZC12ZWhpY2xlX3NlYXJjaF9vcmRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX29yZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfcGVyX3BhZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC5maWVsZC12ZWhpY2xlX3NlYXJjaF9wZXJfcGFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy0tcmVkdWNlZCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMtLXJlZHVjZWQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzLS1yZWR1Y2VkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2FkanVzdC1maW5hbmNlIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fYWRqdXN0LWZpbmFuY2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbmFuY2UtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmluYW5jZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmluYW5jZS1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19pdGVtLWNvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2l0ZW0tY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19pdGVtLWNvdW50IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YmVmb3JlLCAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbmFuY2UtZXhhbXBsZSB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMtaWNvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDAuNjI1cmVtO1xuICBib3R0b206IDAuNjI1cmVtO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxpc3RpbmctLW9yZGVyLXBheW1lbnQgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tb3JkZXItcGF5bWVudCAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLW9yZGVyLXBheW1lbnQgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tb3JkZXItcGF5bWVudCAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLW9yZGVyLXBheW1lbnQgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tb3JkZXItcGF5bWVudCAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLW9yZGVyLXBheW1lbnQgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saXN0aW5nLS1vcmRlci1wYXltZW50IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAubGlzdGluZy0tb3JkZXItcGF5bWVudCAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5saXN0aW5nLS1vcmRlci1wYXltZW50LTIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tb3JkZXItcGF5bWVudC0yIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxpc3RpbmctLW9yZGVyLXBheW1lbnQtMiAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5saXN0aW5nLS1vcmRlci1wYXltZW50LTIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLS1vcmRlci1wYXltZW50LTIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLm1lbnUtdG9nZ2xlIGEge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDQuODEyNXJlbTsgfVxuICAubWVudS10b2dnbGUgYSBpLFxuICAubWVudS10b2dnbGUgYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudS10b2dnbGUgYSBpOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUtLW1haW4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cbiAgICAubWVudS0tbWFpbiA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUtLW1haW4gPiBsaSB7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAubWVudS0tbWFpbiA+IGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAubWVudS0tbWFpbiBpbnB1dCxcbiAgICAubWVudS0tbWFpbiBzZWxlY3QsXG4gICAgLm1lbnUtLW1haW4gYSxcbiAgICAubWVudS0tbWFpbiBidXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tZW51LS1tYWluID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZW51LS1tYWluIGxpIGEge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtLW1haW4gbGkgYSB7XG4gICAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMC45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS0tbWFpbiBsaSBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOyB9IH1cbiAgLm1lbnUtLW1haW4gbGkgYTpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICB3aWR0aDogMS4yNXJlbTsgfVxuXG4ubWVudS0tbWFpbiAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLm1lbnUtLW1haW4gLmFjdGl2ZSA+IGE6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAuMztcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWVudS0tbWFpbiAuYWN0aXZlID4gYTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMC4yNXJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4ubWVudS0tbWFpbiA+IGxpLmFjdGl2ZSA+IGEge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1tYWluID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjNzc3Nzc3OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUtLW1haW4gPiBsaSA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUtLW1haW4gLnN1Ym1lbnUgbGkgYSB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDEuNXJlbSAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0ge1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMCAwLjM3NXJlbSAyLjVyZW07IH0gfVxuICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtIGEgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbSBhIGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0gYSBpICsgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbSBhIGkgKyBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1tZW51LXRvZ2dsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0tLW1lbnUtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0tLW1lbnUtdG9nZ2xlIGEgaSArIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1zYXZlIC5zYXZlZC1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWVudS0tZm9vdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5tZW51LS1mb290ZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgfVxuICAgIC5tZW51LS1mb290ZXIgbGkgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubWVudS0tZm9vdGVyIGxpLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5tZW51LS1mb290ZXIgPiBsaSA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LS1zaGFyZSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgLm1lbnUtLXNoYXJlID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudS0tc2hhcmUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51LS1zaGFyZSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUtLXNoYXJlIGlucHV0LFxuICAubWVudS0tc2hhcmUgc2VsZWN0LFxuICAubWVudS0tc2hhcmUgYSxcbiAgLm1lbnUtLXNoYXJlIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudS0tc2hhcmUgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS0tc2hhcmUgLm1lbnUtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUtLXNoYXJlIC5tZW51LWl0ZW0gYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAubWVudS0tc2hhcmUgLm1lbnUtaXRlbSBhIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSAubWVudS1pdGVtIGEgLmljb24tLWZhY2Vib29rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1OTk4OyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSAubWVudS1pdGVtIGEgLmljb24tLWdvb2dsZS1wbHVzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREE0ODM1OyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSAubWVudS1pdGVtIGEgLmljb24tLWxpbmtlZGluIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0I1OyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSAubWVudS1pdGVtIGEgLmljb24tLXR3aXR0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDk5ZmY7IH1cbiAgICAgICAgLm1lbnUtLXNoYXJlIC5tZW51LWl0ZW0gYSAuaWNvbi0td2hhdHNhcHAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMUU2NzU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1lbnUtLXNoYXJlIC5tZW51LWl0ZW0tLXNtcywgLm1lbnUtLXNoYXJlIC5tZW51LWl0ZW0tLXdoYXRzYXBwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tZW51LS1zb2NpYWwgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cblxuLm1lbnUtLXZlaGljbGUtZmVhdHVyZWQgLm1lbnUtaXRlbSBhLCAubWVudS0tdmVoaWNsZS1sYXRlc3QgLm1lbnUtaXRlbSBhIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5tZW51LS12ZWhpY2xlLWZlYXR1cmVkIC5tZW51LWl0ZW0gYSBpLCAubWVudS0tdmVoaWNsZS1sYXRlc3QgLm1lbnUtaXRlbSBhIGkge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lbnUtLXZlaGljbGUtZmVhdHVyZWQgLm1lbnUtaXRlbSBhIHNwYW4sIC5tZW51LS12ZWhpY2xlLWxhdGVzdCAubWVudS1pdGVtIGEgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVudS0tdmVoaWNsZS1mZWF0dXJlZCAubWVudS1pdGVtIGEgaTo6YmVmb3JlLCAubWVudS0tdmVoaWNsZS1sYXRlc3QgLm1lbnUtaXRlbSBhIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZSc7IH1cbiAgLm1lbnUtLXZlaGljbGUtZmVhdHVyZWQgLm1lbnUtaXRlbSBhLmpzLXNhdmUtdmVoaWNsZS0tc2F2ZWQgaTo6YmVmb3JlLCAubWVudS0tdmVoaWNsZS1sYXRlc3QgLm1lbnUtaXRlbSBhLmpzLXNhdmUtdmVoaWNsZS0tc2F2ZWQgaTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlODdkJzsgfVxuXG4ubWVudS0tdmVoaWNsZS10ZWFzZXIgLm1lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LS12ZWhpY2xlLXRlYXNlciAubWVudS1pdGVtIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0gYSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbTsgfSB9XG4gICAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0gYSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5tZW51LS12ZWhpY2xlLXRlYXNlciAubWVudS1pdGVtIGEgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubWVudS0tdmVoaWNsZS10ZWFzZXIgLm1lbnUtaXRlbS0tZmluYW5jZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZW51LS12ZWhpY2xlLXRlYXNlciAubWVudS1pdGVtLS1maW5hbmNlIGEge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW0gMC41NjI1cmVtIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0tLXNoYXJlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0tLXNoYXJlIGEge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW0gMC41NjI1cmVtIDA7IH0gfVxuXG4ubWVudS0tdmVoaWNsZS10ZWFzZXIgLm1lbnUtaXRlbS0tc2F2ZSBhIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51LS12ZWhpY2xlLXRlYXNlciAubWVudS1pdGVtLS1zYXZlIGEge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMXJlbSAwLjU2MjVyZW0gMDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0tLXNhdmUgYSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS0tdmVoaWNsZS10ZWFzZXIgLm1lbnUtaXRlbS0tc2F2ZSBhIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZSc7IH1cbiAgLm1lbnUtLXZlaGljbGUtdGVhc2VyIC5tZW51LWl0ZW0tLXNhdmUgYS5qcy1zYXZlLXZlaGljbGUtLXNhdmVkIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZCc7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5tZW51LS12ZWhpY2xlLXRlYXNlciAubWVudS1pdGVtLS12aWV3LWRldGFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubWVudS0tdmVoaWNsZS1mdWxsLCAubWVudS0tdmVoaWNsZV9fcGF5bWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAwLjkzNzVyZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtLXZlaGljbGUtZnVsbCBsaSwgLm1lbnUtLXZlaGljbGVfX3BheW1lbnQgbGkge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWJhc2lzOiAwOyB9XG4gICAgLm1lbnUtLXZlaGljbGUtZnVsbCBsaSBhLCAubWVudS0tdmVoaWNsZV9fcGF5bWVudCBsaSBhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS0tdmVoaWNsZS1mdWxsLCAubWVudS0tdmVoaWNsZV9fcGF5bWVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAubWVudS0tdmVoaWNsZS1mdWxsIGxpLCAubWVudS0tdmVoaWNsZV9fcGF5bWVudCBsaSB7XG4gICAgICAgIGZsZXg6IDEgMSA4ZW07XG4gICAgICAgIG1heC13aWR0aDogMjBlbTsgfSB9XG5cbi5tZW51LS12ZWhpY2xlX19wYXltZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51LS12ZWhpY2xlX19wYXltZW50IGxpIHtcbiAgICAgIG1heC13aWR0aDogMjBlbTsgfSB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBiYWNrZ3JvdW5kOiAjNmI2YjZiOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYm9yZGVyOiBub25lO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjNmI2YjZiO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZmZmZjsgfVxuXG4uZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMS4xMjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyM2ZmZmZmZicgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjg3NXJlbSAwLjQzNzVyZW07XG4gIHdpZHRoOiAwLjY4NzVyZW07XG4gIGhlaWdodDogMC40Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIHJpZ2h0OiAwLjM3NXJlbTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kOiAjNmI2YjZiOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzZmZmZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMC42ODc1cmVtIDAuNDM3NXJlbTtcbiAgd2lkdGg6IDAuNjg3NXJlbTtcbiAgaGVpZ2h0OiAwLjQzNzVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuMTg3NXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyM2ZmZmZmZicgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjg3NXJlbSAwLjQzNzVyZW07XG4gIHdpZHRoOiAwLjY4NzVyZW07XG4gIGhlaWdodDogMC40Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhIHNwYW4ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMC41cmVtIDA7IH1cbiAgICAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjc1cmVtIDAuNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAucGFnaW5hdGlvbiBsaSBhIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAucGFnaW5hdGlvbiBsaSBhOmZvY3VzLCAucGFnaW5hdGlvbiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAucGFnaW5hdGlvbiBsaS5hY3RpdmUsIC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpLmFjdGl2ZSBhLCAucGFnaW5hdGlvbiBsaS5jdXJyZW50IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NzsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLmZpcnN0IGEgc3Bhbjo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uIGxpLnByZXZpb3VzIGEgc3Bhbjo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uIGxpLm5leHQgYSBzcGFuOjphZnRlcixcbiAgICAucGFnaW5hdGlvbiBsaS5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAucGFnaW5hdGlvbiBsaS5maXJzdCBhIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxlNWRjJztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICAucGFnaW5hdGlvbiBsaS5wcmV2aW91cyBhIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxlNWNiJztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICAucGFnaW5hdGlvbiBsaS5uZXh0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTVjYyc7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xMjVyZW07IH1cbiAgICAucGFnaW5hdGlvbiBsaS5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTVkZCc7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xMjVyZW07IH1cbiAgICAucGFnaW5hdGlvbiBsaSBhOmhvdmVyIHNwYW46OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbiBsaSBhOmhvdmVyIHNwYW46OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2luYXRpb24tLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5maXJzdCBhIHNwYW4sIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkucHJldmlvdXMgYSBzcGFuLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLm5leHQgYSBzcGFuLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmxhc3QgYSBzcGFuIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDsgfVxuICAgIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkuZmlyc3QgYSBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkuZmlyc3QgYSBzcGFuOjphZnRlciwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhIHNwYW46OmFmdGVyLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLm5leHQgYSBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhIHNwYW46OmFmdGVyLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmxhc3QgYSBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhIHNwYW46OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5maXJzdCBhOmZvY3VzIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5maXJzdCBhOmZvY3VzIHNwYW46OmFmdGVyLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmZpcnN0IGE6aG92ZXIgc3Bhbjo6YmVmb3JlLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmZpcnN0IGE6aG92ZXIgc3Bhbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkucHJldmlvdXMgYTpmb2N1cyBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkucHJldmlvdXMgYTpmb2N1cyBzcGFuOjphZnRlcixcbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhOmhvdmVyIHNwYW46OmJlZm9yZSxcbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhOmhvdmVyIHNwYW46OmFmdGVyLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLm5leHQgYTpmb2N1cyBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhOmZvY3VzIHNwYW46OmFmdGVyLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLm5leHQgYTpob3ZlciBzcGFuOjpiZWZvcmUsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhOmhvdmVyIHNwYW46OmFmdGVyLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmxhc3QgYTpmb2N1cyBzcGFuOjpiZWZvcmUsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhOmZvY3VzIHNwYW46OmFmdGVyLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmxhc3QgYTpob3ZlciBzcGFuOjpiZWZvcmUsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhOmhvdmVyIHNwYW46OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGFnaW5hdGlvbi0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbi0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlOyB9XG4gIC50YWJzID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicyA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLnRhYnMgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50YWJzIGlucHV0LFxuICAudGFicyBzZWxlY3QsXG4gIC50YWJzIGEsXG4gIC50YWJzIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGFicyA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGFicyA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEge1xuICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgaDIsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLCAub2ZmZXItLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9mZmVyX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLCAub2ZmZXItLWZ1bGwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXJfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLm9yZGVyLXByb2dyZXNzX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSwgLnBhZ2UtLXRlYXNlciAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLCAucGFydC0tZmVhdHVyZWQgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydF9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsIC5wYXJ0LS1mdWxsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhcnRfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSwgLnBvc3QtLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBvc3RfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSwgLnZlaGljbGUtLWdlbmVyYWwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1sYXRlc3QgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5saXN0aW5nX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtZ2VuZXJhbCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWdlbmVyYWwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZ19fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tZnVsbCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5jdXN0b20tZW50cnlfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X190aXRsZSwgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeV9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5wYWdlLS1jb250YWN0IC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2VfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5wYWdlLS1kZWZhdWx0IC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2VfX2Zvcm0tdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybS10aXRsZSwgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX19mb3JtLXRpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1mZWF0dXJlZCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZS10aXRsZSwgLnZlaGljbGUtLWZ1bGwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZV9fZmluYW5jZS10aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlbGVwaG9uZSBzcGFuIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgYSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGVfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tdGVhc2VyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYTpob3ZlcixcbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjNzc3Nzc3O1xuICAgICAgICAgIHotaW5kZXg6IDQwMDsgfSB9XG4gICAgLnRhYnMgPiBsaTpsYXN0LWNoaWxkLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udmVoaWNsZV9fdG9wIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG5cbi52ZWhpY2xlX19taWRkbGUgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMCAwOyB9XG5cbi53aGF0c2FwcC1pY29uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEuMjVyZW07XG4gIGxlZnQ6IDEuMjVyZW07XG4gIHotaW5kZXg6IDk5OTsgfVxuICAud2hhdHNhcHAtaWNvbiBhIHtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAwLjc1cmVtIDEuMjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzIzYjMzYTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMyM2IzM2EgMCUsICM1NWQwNjEgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gICAgLndoYXRzYXBwLWljb24gYSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud2hhdHNhcHAtaWNvbiBhIGkge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTsgfVxuXG4uY29udHJvbGxlci12ZWhpY2xlLmFjdGlvbi1kZXRhaWwgLndoYXRzYXBwLWljb24ge1xuICBib3R0b206IDQuNjg3NXJlbTsgfVxuXG4uYmxvY2stLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgLmJsb2NrLS1kZWZhdWx0OmhvdmVyIC5ibG9ja19fcHJpbWFyeS1pbWFnZXMgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fZGV0YWlscyB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMi41cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjE4NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19wcmltYXJ5LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3ByaW1hcnktaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgICAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3ByaW1hcnktaW1hZ2U6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTZhZmFkO1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfVxuICAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX3NlY29uZGFyeS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJsb2NrLS1vY3RhbmUtZmluYW5jZS1iYW5uZXIgLmJsb2NrX19zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IC43NTsgfVxuICAuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciAuYmxvY2tfX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG5cbi5ibG9jay0tc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19pY29uIGkge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3N1Yi10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMC4xODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLmN1c3RvbS1lbnRyeS0tZnVsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3JhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9pbWcvc3RhcnMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMy40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fcmF0aW5nLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMS42ODc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3QvaW1nL3N0YXJzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI3cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMy4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtOyB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY3VzdG9tLWVudHJ5LS10ZWFzZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjg3NXJlbTsgfSB9XG4gIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3JhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9pbWcvc3RhcnMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMy40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19yYXRpbmctaW5uZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9pbWcvc3RhcnMucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjdweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbSAzLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZvcm0tLXBhcnQtZXhjaGFuZ2Uge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgbWF4LXdpZHRoOiAzNy41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5mb3JtX19maWVsZHNldCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybS0tcGFydC1leGNoYW5nZSAuZm9ybV9fbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZm9ybS0tcGFydC1leGNoYW5nZSAuZm9ybV9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5maWVsZC1zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuNjI1cmVtO1xuICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXN1Ym1pdCAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dDo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiNjdkZWdyZWVzXCI7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAuZm9ybS0tcGFydC1leGNoYW5nZSAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm9ybS0tcGFydC1leGNoYW5nZSAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmNvbnRyb2wtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUge1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0ndGV4dCddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nZGF0ZSddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J2RhdGV0aW1lJ10sXG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdtb250aCddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3dlZWsnXSxcbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdlbWFpbCddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J251bWJlciddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3NlYXJjaCddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3RlbCddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3RpbWUnXSxcbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSd1cmwnXSxcbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdjb2xvciddLFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgc2VsZWN0LFxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgbGFiZWwuZXJyb3Ige1xuICAgIGhlaWdodDogMS4xODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjY2M0YjM3O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19iYWNrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19iYWNrIGEgaSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgLmZvcm1fX2JhY2sgYSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgLmZvcm1fX3N0ZXAwIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgLmZvcm1fX3N0ZXAwIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQ6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmNvbnRyb2wtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3JkZXItc3RhdGUtc3VtbWFyeSB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyLXN0YXRlLXN1bW1hcnkge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXByaWNlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtYWRtaW4tZmVlIHtcbiAgICBmb250LXNpemU6IDc1JTsgfVxuICAub3JkZXItc3RhdGUtc3VtbWFyeSAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cbiAgICAub3JkZXItc3RhdGUtc3VtbWFyeSAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5MjkyOTsgfVxuICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjkyOTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLm9yZGVyLXN0YXRlLXN1bW1hcnkgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHRyLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGVfX3RvdGFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLm9yZGVyLXN0YXRlLXN1bW1hcnkgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUgdHIgdGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLm9yZGVyLXN0YXRlLXN1bW1hcnkgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUgdHIgdGQub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZV9fdmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyOTI5Mjk7IH1cblxuLnBhZ2UtLWNvbnRhY3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX21hcCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX19tYXAgI21hcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTguNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX19tYXAgI21hcCB7XG4gICAgICAgICAgaGVpZ2h0OiAyOXJlbTsgfSB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucGFnZS0tY29udGFjdCAucGFnZV9faW5uZXItc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWw6OmJlZm9yZSwgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2ZpbGVzIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2ZpbGVzIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWRlZmF1bHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtLWRlZmF1bHQtbm8taW1hZ2UgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9faW5uZXItc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fdmlkZW9zIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX192aWRlb3MgdWw6OmJlZm9yZSwgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX192aWRlb3MgdWwgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX3ZpZGVvcyB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2ZpbGVzIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2ZpbGVzIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fY2hpbGRyZW4ge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19jaGlsZHJlbjo6YmVmb3JlLCAucGFnZS0tZGVmYXVsdCAucGFnZV9fY2hpbGRyZW46OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2NoaWxkcmVuOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fY2hpbGRyZW4ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19mb3JtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWZ1bGwtd2lkdGgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXI6OmJlZm9yZSwgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyID4gLnBhZ2VfX3ZpZGVvcyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX192aWRlb3Mge1xuICAgICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fdmlkZW9zIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyID4gLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fdmlkZW9zIHVsOjpiZWZvcmUsIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiAnICc7IH1cbiAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyID4gLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyID4gLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX192aWRlb3MgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAgIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jb250YWluZXIgPiAucGFnZV9fZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyID4gLnBhZ2VfX2ZpbGVzIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciA+IC5wYWdlX19maWxlcyB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fY2hpbGRyZW4ge1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyIC5wYWdlX19jaGlsZHJlbjo6YmVmb3JlLCAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyIC5wYWdlX19jaGlsZHJlbjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY29udGFpbmVyIC5wYWdlX19jaGlsZHJlbjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fY2hpbGRyZW4ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybSB7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NvbnRhaW5lciAucGFnZV9fZm9ybSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWhvbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczo6YmVmb3JlLCAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXMsIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzLCAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcy1vdXRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzc3Nzc3OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXMtb3V0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19zZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fc2VhcmNoIC5zZWFyY2gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19zZWFyY2ggLnNlYXJjaCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07IH0gfVxuICAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fY29udGVudCwgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIC5leHBhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2sgMCUsIGJsYWNrIDI1JSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWE6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9IH1cbiAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fc2Vjb25kYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fdmlkZW9zIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fdmlkZW9zIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX192aWRlb3M6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX192aWRlb3Mge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYSAucGFnZV9fdmlkZW9zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX192aWRlb3M6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhIC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYS0taW1hZ2Utb25seSAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEtLWltYWdlLW9ubHkgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEtLWltYWdlLW9ubHkgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEtLWltYWdlLW9ubHkgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgICAucGFnZS0taG9tZSAucGFnZV9fbWVkaWEtLWltYWdlLW9ubHkgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMgLnNlY29uZGFyeS1pbWFnZV9faW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMxLjI1cmVtO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhLS12aWRlby1vbmx5IC5wYWdlX192aWRlb3Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX21lZGlhLS12aWRlby1vbmx5IC5wYWdlX192aWRlb3Mge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19tZWRpYS0tdmlkZW8tb25seSAucGFnZV9fdmlkZW9zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19maWxlcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZpbGVzIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZpbGVzIHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMC4xMjVyZW07IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4uc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VhcmNoIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH0gfVxuICAuc2VhcmNoX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuc2VhcmNoX19oZWFkZXIgbGVnZW5kIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuc2VhcmNoX19oZWFkZXIgLmJ1dHRvbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNlYXJjaCAuc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5zZWFyY2ggLmhlbHAtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5zZWFyY2ggbGFiZWwuY29udHJvbC1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc2VhcmNoIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuc2VhcmNoIC5mb3JtLWdyb3VwIGxhYmVsOm5vdCguY29udHJvbC1sYWJlbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNlYXJjaCAuZm9ybS1ncm91cCBsYWJlbDpub3QoLmNvbnRyb2wtbGFiZWwpIC5sYWJlbC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAuc2VhcmNoIC5mb3JtLWdyb3VwIGxhYmVsOm5vdCguY29udHJvbC1sYWJlbCkgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VhcmNoIC5mb3JtLWdyb3VwIGRpdjpub3QoLmhlbHAtYmxvY2spOm5vdCgjcHJpY2VfdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLnNlYXJjaCAuZm9ybS1ncm91cCBkaXY6bm90KC5oZWxwLWJsb2NrKTpub3QoI3ByaWNlX3R5cGUpIGxhYmVsIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAuc2VhcmNoIC5mb3JtLWdyb3VwIGRpdjpub3QoLmhlbHAtYmxvY2spOm5vdCgjcHJpY2VfdHlwZSkjY29sb3VycyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICByaWdodDogMC41cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5zZWFyY2ggLmZvcm0tZ3JvdXAgZGl2Om5vdCguaGVscC1ibG9jayk6bm90KCNwcmljZV90eXBlKSNjb2xvdXJzIGxhYmVsW2Zvcj1jb2xvdXJzLXdoaXRlXTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGxhYmVsIC5sYWJlbC12YWx1ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC4xODc1cmVtIDA7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUgaW5wdXQ6Y2hlY2tlZCArIC5sYWJlbC12YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGlucHV0OmNoZWNrZWQgKyAubGFiZWwtdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOTk5OSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgIzU0NTQ1NDsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21pbixcbiAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tb250aGx5X21pbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tYXgsXG4gICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbW9udGhseV9tYXgge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjE4NzVyZW07IH1cbiAgLnNlYXJjaCAuc2hvdy1tb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VhcmNoLS1leHRlbmRlZCAuc2VhcmNoX19mb3JtIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucGFnZS0taG9tZSAuc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnBhZ2UtLWhvbWUgLnNlYXJjaDo6YmVmb3JlLCAucGFnZS0taG9tZSAuc2VhcmNoOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2g6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2gge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAucGFnZS0taG9tZSAuc2VhcmNoOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAucGFnZS0taG9tZSAuc2VhcmNoLCAucGFnZS0taG9tZSAuc2VhcmNoOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fZm9ybSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fZm9ybSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLmhlbHAtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2ggbGFiZWwuY29udHJvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCBzZWxlY3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5maWVsZC1tYWtlX3NsdWcsXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuZmllbGQtbW9kZWxfc2x1ZyxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5maWVsZC1zdWJtaXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07IH0gfVxuICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbWluLFxuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21vbnRobHlfbWluIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9taW4sXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbW9udGhseV9taW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbWF4LFxuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21vbnRobHlfbWF4IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tYXgsXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbW9udGhseV9tYXgge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoLS1maW5hbmNlIC5maWVsZC1tYWtlX3NsdWcsXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaC0tZmluYW5jZSAuZmllbGQtbW9kZWxfc2x1ZyxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoLS1maW5hbmNlIC5maWVsZC1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMi42ODc1cmVtOyB9IH1cblxuLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSBpbnB1dDpjaGVja2VkICsgLmxhYmVsLXZhbHVlIHtcbiAgYmFja2dyb3VuZDogIzc3Nzc3NzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRvZ2dsZXIgLnNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudG9nZ2xlciAuc2VhcmNoIC5zZWFyY2hfX2hlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9IH1cblxuLnNlbnNpLXNwaW5uZXItb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjksIDI5LCAyOSwgMC43NSk7IH1cblxuLnNrLXNwaW5uZXItdGhyZWUtYm91bmNlIGRpdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1mdWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGVjaG5pY2FsLWRhdGEtLWZ1bGwgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50ZWNobmljYWwtZGF0YS0tZnVsbCAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1wcm9tb3RlZC1vdXRlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50ZWNobmljYWwtZGF0YS0tcHJvbW90ZWQgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1wcm9tb3RlZCAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9XG5cbi50ZWNobmljYWwtZGF0YS0tcHJvbW90ZWQgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH1cblxuLnRlY2huaWNhbC1kYXRhLS1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGVjaG5pY2FsLWRhdGEtLXN1bW1hcnkgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50ZWNobmljYWwtZGF0YS0tc3VtbWFyeSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tdGVhc2VyIC50ZWNobmljYWwtZGF0YV9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGVjaG5pY2FsLWRhdGEtLXRlYXNlciAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tdGVhc2VyIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4udGVjaG5pY2FsLWRhdGEtLXRlYXNlciAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnRlY2huaWNhbC1kYXRhLS1mZWF0dXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudGVjaG5pY2FsLWRhdGEtLWZlYXR1cmVkIC50ZWNobmljYWwtZGF0YV9faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGVjaG5pY2FsLWRhdGEtLWZlYXR1cmVkIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudGVjaG5pY2FsLWRhdGEtLWZlYXR1cmVkIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50ZWNobmljYWwtZGF0YS0tY29tcGFyZSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tY29tcGFyZSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGVjaG5pY2FsLWRhdGEtLWNvbXBhcmUgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tY29tcGFyZSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH0gfVxuXG4udmVoaWNsZS0tZmVhdHVyZWQge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZDo6YmVmb3JlLCAudmVoaWNsZS0tZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuMjVyZW07XG4gICAgcmlnaHQ6IDEuMjVyZW07IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbWFrZSxcbiAgICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tb2RlbCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgYmFja2dyb3VuZDogIzExMTExMTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3ByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX19maW5hbmNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19iYWNrIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjazo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjazo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjazo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2ssIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19iYWNrOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19iYWNrIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19iYWNrIGEgaSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjayBhIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3Age1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcDo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3A6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3Age1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcC1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgICAgICBnYXA6IDEuODc1cmVtOyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21lZGlhIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21lZGlhIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gNjsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyAudmVoaWNsZV9fcHJvbW8tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIC52ZWhpY2xlX19zYXZlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgZ3JpZC1jb2x1bW46IDYvMTM7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fZGV0YWlscy10b3Age1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLXRvcDo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fZGV0YWlscy10b3A6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX2RldGFpbHMtdG9wOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLXRvcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLXRvcCwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX2RldGFpbHMtdG9wOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX3RpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fdGl0bGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fcHJpY2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX3ByaWNlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19wcmljZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19wcmljZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHVsIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHVsIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxMTExMTE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgdWwgbGkgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkLS1zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQtLXNtYWxsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZC0tc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQtLXNtYWxsIHVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkLS1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQtLWxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5LCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWw6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IC5zaG93IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IC5zaG93IGEge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhOmhvdmVyLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgcGFkZGluZzogMS44NzVyZW0gMC45Mzc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbiAuZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA3LjgxMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMxZTFlMWUgMCUsICMxZTFlMWUgMjUlLCByZ2JhKDMwLCAzMCwgMzAsIDApIDEwMCUpO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLS13aXRoLXZpZGVvIHtcbiAgICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLS13aXRoLXZpZGVvOjpiZWZvcmUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi0td2l0aC12aWRlbzo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tLXdpdGgtdmlkZW86OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi0td2l0aC12aWRlbyAudmVoaWNsZV9fZGVzY3JpcHRpb24tY29weSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tLXdpdGgtdmlkZW8gLnZlaGljbGVfX2Rlc2NyaXB0aW9uLWNvcHkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLS13aXRoLXZpZGVvIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1jb3B5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLS13aXRoLXZpZGVvIC52ZWhpY2xlX192aWRlbyB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tLXdpdGgtdmlkZW8gLnZlaGljbGVfX3ZpZGVvIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi0td2l0aC12aWRlbyAudmVoaWNsZV9fdmlkZW86bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2UsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZSB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2U6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2U6OmFmdGVyLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZTo6YmVmb3JlLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZTo6YWZ0ZXIsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZSxcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2U6bGFzdC1jaGlsZCxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2UsXG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2UtaW5uZXIsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19maW5hbmNlLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2UtaW5uZXIsXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZmluYW5jZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UtaW5uZXIge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2ZpbmFuY2UtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWxlcGhvbmUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVsZXBob25lIHNwYW4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXIgLnNsaWNrLXNsaWRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19jb250ZW50OjpiZWZvcmUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19jb250ZW50OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fY29udGVudCwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2NvbnRlbnQtb3V0ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fY29udGVudC1pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBjb2xvcjogIzk5OTk5OTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwsXG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWw6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bDo6YWZ0ZXIsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bDo6YmVmb3JlLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bDo6YWZ0ZXIsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpLFxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSxcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpsYXN0LWNoaWxkLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGksXG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbiksXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpOm50aC1vZi10eXBlKDJuKzEpLFxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpOmxhc3QtY2hpbGQsXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSxcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSksXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bGFzdC1jaGlsZCxcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuZXh0cmEsXG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24sXG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2V4dHJhcyA+IHVsID4gbGkgLmV4dHJhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb25fX3ZhbHVlLFxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5leHRyYV9fdmFsdWUsXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbl9fdmFsdWUsXG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzID4gdWwgPiBsaSAuZXh0cmFfX3ZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uLWJ1dHRvbixcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19leHRyYXMtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uLWJ1dHRvbiAuYnV0dG9uLFxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZXh0cmFzLWJ1dHRvbiAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bDo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YV9fbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2VydmljZS1oaXN0b3J5LWJyZWFrZG93biB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2VydmljZS1oaXN0b3J5LWJyZWFrZG93biB0YWJsZSB7XG4gICAgbWluLXdpZHRoOiA0MHJlbTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZG9jdW1lbnRzIHVsLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2F1ZGlvIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2RvY3VtZW50cyB1bCBsaSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2F1ZGlvIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20ge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS1pbm5lcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWlubmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20taW5uZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLXRlbGVwaG9uZSB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tdGVsZXBob25lIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS10ZWxlcGhvbmU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tdGVsZXBob25lIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS1jdGEge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWN0YSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tY3RhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWN0YSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgdWwgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi52ZWhpY2xlLS10ZWFzZXIge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG4gIC52ZWhpY2xlLS10ZWFzZXI6OmJlZm9yZSwgLnZlaGljbGUtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tdGVhc2VyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLXRlYXNlcjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuMjVyZW07XG4gICAgcmlnaHQ6IDEuMjVyZW07IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tb2RlbCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19maW5hbmNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi52ZWhpY2xlX19tZWRpYS1jb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC52ZWhpY2xlX19tZWRpYS1jb3VudCA+IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgICAudmVoaWNsZV9fbWVkaWEtY291bnQgPiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjEyNXJlbTsgfVxuICAgICAgLnZlaGljbGVfX21lZGlhLWNvdW50ID4gdWwgbGkgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnZlaGljbGVfX3Byb21vLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC41cmVtO1xuICBsZWZ0OiAwLjVyZW07IH1cbiAgLnZlaGljbGVfX3Byb21vLXRleHQgc3BhbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmwtYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5sLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sLWZvb3Rlcl9fZmlyc3Qge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmwtZm9vdGVyX19maXJzdDo6YmVmb3JlLCAubC1mb290ZXJfX2ZpcnN0OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5sLWZvb3Rlcl9fZmlyc3Q6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sLWZvb3Rlcl9fZmlyc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubC1mb290ZXJfX2ZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmwtZm9vdGVyX19maXJzdCwgLmwtZm9vdGVyX19maXJzdDpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sLWZvb3Rlcl9fZmlyc3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5sLWZvb3Rlcl9fc2Vjb25kIHtcbiAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZDogIzFkMWQxZDsgfVxuXG4ubC1oZWFkZXJfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmwtaGVhZGVyX19pbm5lcjo6YmVmb3JlLCAubC1oZWFkZXJfX2lubmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5sLWhlYWRlcl9faW5uZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWhlYWRlcl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG4ubC1oZWFkZXJfX2ZpcnN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtaGVhZGVyX19maXJzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLWhlYWRlcl9fZmlyc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmwtaGVhZGVyX19maXJzdCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtaGVhZGVyX19maXJzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubC1oZWFkZXJfX2ZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubC1oZWFkZXJfX3NlY29uZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1oZWFkZXJfX3NlY29uZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLWhlYWRlcl9fc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWhlYWRlcl9fc2Vjb25kIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLWhlYWRlcl9fc2Vjb25kIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLWhlYWRlcl9fc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubm90LWZyb250IC5sLWhlYWRlcl9fZmlyc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5vdC1mcm9udCAubC1oZWFkZXJfX2ZpcnN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmwtbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubC1tYWluLS1hc2lkZSwgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCwgLmwtbWFpbi0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sLW1haW4tLWFzaWRlLCAubC1tYWluLS1hc2lkZS1kZXNrdG9wLCAubC1tYWluLS1mdWxsLXdpZHRoIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19pbm5lcjo6YmVmb3JlLCAubC1tYWluLS1hc2lkZSAubC1tYWluX19pbm5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19hc2lkZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAtNzUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX2FzaWRlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX3NlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX3NlY3Rpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAyNSU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9faW5uZXIge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9faW5uZXI6OmJlZm9yZSwgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19pbm5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2FzaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTc1JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2FzaWRlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2FzaWRlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX3NlY3Rpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDI1JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5sLW1haW4tLWZ1bGwtd2lkdGggLmwtbWFpbl9faW5uZXIge1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLmwtbWFpbi0tZnVsbC13aWR0aCAubC1tYWluX19pbm5lcjo6YmVmb3JlLCAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5sLW1haW4tLWZ1bGwtd2lkdGggLmwtbWFpbl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sLW1haW4tLWZ1bGwtd2lkdGggLmwtbWFpbl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmwtbWFpbi0tZnVsbC13aWR0aCAubC1tYWluX19pbm5lciwgLmwtbWFpbi0tZnVsbC13aWR0aCAubC1tYWluX19pbm5lcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hY3Rpb24tY29tcGFyZSAubC1tYWluLFxuICAuYWN0aW9uLWVycm9yIC5sLW1haW4sXG4gIC5jb250cm9sbGVyLXNpdGVtYXAgLmwtbWFpbixcbiAgLmNvbnRyb2xsZXItc3RhdGljLXBhZ2UgLmwtbWFpbixcbiAgLmNvbnRyb2xsZXItY3VzdG9tLWVudHJ5IC5sLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfSB9XG5cbi5hY3Rpb24tY29tcGFyZSAubC1tYWluOjpiZWZvcmUsXG4uYWN0aW9uLWVycm9yIC5sLW1haW46OmJlZm9yZSxcbi5jb250cm9sbGVyLXNpdGVtYXAgLmwtbWFpbjo6YmVmb3JlLFxuLmNvbnRyb2xsZXItc3RhdGljLXBhZ2UgLmwtbWFpbjo6YmVmb3JlLFxuLmNvbnRyb2xsZXItY3VzdG9tLWVudHJ5IC5sLW1haW46OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmwtbmF2IHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAubC1uYXZfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAubC1uYXZfX2lubmVyOjpiZWZvcmUsIC5sLW5hdl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmwtbmF2X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubC1uYXZfX2lubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmwtbmF2X19pbm5lciwgLmwtbmF2X19pbm5lcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLW5hdl9faW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICAubC1uYXZfX2lubmVyOjpiZWZvcmUsIC5sLW5hdl9faW5uZXI6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjb250ZW50OiAnICc7IH1cbiAgICAgICAgLmwtbmF2X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbmF2X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmwtbmF2X19pbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLmwtbmF2X19pbm5lciwgLmwtbmF2X19pbm5lcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi5leHRyYXMtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5leHRyYXMtcHJpY2VfX3ZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5leHRyYXMtcHJpY2UtLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogMC4xODc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuZXh0cmFzLXByaWNlLS10ZWFzZXIgLmV4dHJhcy1wcmljZV9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiA2NSU7IH1cbiAgLmV4dHJhcy1wcmljZS0tZnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzI5MjkyOTsgfVxuICAgIC5leHRyYXMtcHJpY2UtLWZ1bGwgLmV4dHJhcy1wcmljZV9fbmV3LFxuICAgIC5leHRyYXMtcHJpY2UtLWZ1bGwgLmV4dHJhcy1wcmljZV9fZXh0cmFzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2V4dHJhcyB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyOTI5Mjk7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiA1NSU7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2xpbmsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uZXh0cmFzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZXh0cmFzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZXh0cmFzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmV4dHJhczo6YmVmb3JlLCAuZXh0cmFzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5leHRyYXM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5leHRyYXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuZXh0cmFzX19saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHRyYXNfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZXh0cmFzX19saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHRyYXNfX2xpc3Qge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZXh0cmFzX19saXN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZXh0cmFzX19saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5leHRyYXNfX3N1bW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV4dHJhc19fc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5leHRyYXNfX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV4dHJhc19fc3VtbWFyeSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5leHRyYXNfX3N1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5leHRyYXNfX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuZXh0cmFzX19zdW1tYXJ5LWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5leHRyYXNfX3N1bW1hcnktaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAuZXh0cmFzX19zdW1tYXJ5LWFtb3VudCB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmV4dHJhc19fc3VtbWFyeS1leHRyYXMge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZXh0cmFzX19zdW1tYXJ5LWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgLmV4dHJhc19fc3VtbWFyeS12YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZTpob3ZlciwgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4uc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDk7IH1cbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IDA7IH1cbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2InOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICByaWdodDogMDsgfVxuICAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTVjYyc7IH1cblxuLnNsaWNrLXNsaWRlci5zbGljay1kb3R0ZWQge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0wLjQzNzVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBtYXJnaW46IDAgMC4xMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkge1xuICAgICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwLjM3NXJlbTsgfSB9XG4gICAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTsgfVxuICAgICAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzc3Nzc3OyB9XG5cbi5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyLFxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlcixcbi5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuc2xpY2stc2xpZGVyLFxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciAuc2xpY2stc2xpZGVyLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlcixcbi5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIsXG4gICAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlcixcbiAgICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlcixcbiAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIsXG4gICAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlcixcbiAgICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHRvcDogMy43NXJlbTsgfVxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHJpZ2h0OiAzLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICAgICAgcmlnaHQ6IDMuNXJlbTsgfSB9XG4gIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHVsLnNsaWNrLXNsaWRlcixcbi5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bC5zbGljay1zbGlkZXIsXG4udmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bC5zbGljay1zbGlkZXIsXG4udmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tbGVmdDogLTAuMDYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtOyB9XG4gIC5uZXctdmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDAuMDYyNXJlbTsgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDAuMDYyNXJlbTsgfVxuXG4ubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4udmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUuc2xpY2stY3VycmVudCxcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUuc2xpY2stY3VycmVudCB7XG4gICAgb3BhY2l0eTogMC43NTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5zbGljay1zbGlkZXIge1xuICBwYWRkaW5nLXRvcDogMi41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHRvcDogMS4yNXJlbTsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsXG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHJpZ2h0OiAyLjU2MjVyZW07IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuXG4ucGFnZS0taG9tZSAubGlzdGluZy0tYmxvY2ssXG4ucGFnZS0taG9tZSAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrLFxuICAgIC5wYWdlLS1ob21lIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuICAgIC5wYWdlLS1ob21lIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayAuc2xpY2stc2xpZGUsXG4gICAgLnBhZ2UtLWhvbWUgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2sgLnNsaWNrLXNsaWRlIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAucGFnZS0taG9tZSAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICByaWdodDogNTAlO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IC02NXB4OyB9XG4gIC5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAucGFnZS0taG9tZSAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogLTY1cHg7IH1cblxuLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrIHtcbiAgcGFkZGluZy1ib3R0b206IDUuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAud2l6YXJkID4gLnN0ZXBzID4gdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLndpemFyZCA+IC5zdGVwcyA+IHVsIGxpOmxhc3QtY2hpbGQgYSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ud2l6YXJkID4gLnN0ZXBzIGEsXG4ud2l6YXJkID4gLnN0ZXBzIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIGE6YWN0aXZlIHtcbiAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2l6YXJkID4gLnN0ZXBzIGEsXG4gICAgLndpemFyZCA+IC5zdGVwcyBhOmhvdmVyLFxuICAgIC53aXphcmQgPiAuc3RlcHMgYTphY3RpdmUge1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbSAwLjVyZW0gMDsgfSB9XG5cbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGEsXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGE6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWFhYWE7IH1cblxuLndpemFyZCA+IC5zdGVwcyAuZGlzYWJsZWQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmRpc2FibGVkIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5kaXNhYmxlZCBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5OyB9XG5cbi53aXphcmQgPiAuc3RlcHMgLmVycm9yIGEsXG4ud2l6YXJkID4gLnN0ZXBzIC5lcnJvciBhOmhvdmVyLFxuLndpemFyZCA+IC5zdGVwcyAuZXJyb3IgYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi53aXphcmQgPiAuYWN0aW9ucyBhLFxuLndpemFyZCA+IC5hY3Rpb25zIGE6aG92ZXIsXG4ud2l6YXJkID4gLmFjdGlvbnMgYTphY3RpdmUge1xuICBwYWRkaW5nOiAwLjVyZW0gMC45Mzc1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYSxcbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYTpob3Zlcixcbi53aXphcmQgPiAuYWN0aW9ucyAuZGlzYWJsZWQgYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTsgfVxuXG4ud2l6YXJkID4gLmFjdGlvbnMgPiB1bCA+IGxpIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjVyZW07IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5jYXJkLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIGxhYmVsIHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgMjkuIFJldmVhbFxuLy8gIDMwLiBTbGlkZXJcbi8vICAzMS4gU3dpdGNoXG4vLyAgMzIuIFRhYmxlXG4vLyAgMzMuIFRhYnNcbi8vICAzNC4gVGh1bWJuYWlsXG4vLyAgMzUuIFRpdGxlIEJhclxuLy8gIDM2LiBUb29sdGlwXG4vLyAgMzcuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICAvLyBwcmltYXJ5OiAjMTE5YWUxLFxuICBwcmltYXJ5OiAjNzc3Nzc3LFxuICBzZWNvbmRhcnk6ICM1NDU0NTQsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZWNlY2VjO1xuJG1lZGl1bS1ncmF5OiAjZTZlNmU2O1xuJGRhcmstZ3JheTogIzk5OTk5OTtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRibHVlOiAjMTE5YWUxO1xuJGJvZHktYmFja2dyb3VuZDogIzExMTExMTsgLy8gQmxhY2sgVmVyc2lvbjogIzExMTExMVxuJGJvZHktZm9udC1jb2xvcjogJHdoaXRlOyAvLyBCbGFjayBWZXJzaW9uOiAkd2hpdGVcbiRib2R5LWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IDQwMDtcbiRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDogNjAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IDVweDtcbiRnbG9iYWwtYm9yZGVyOiBub25lO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEwKSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzMiksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxMiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuODtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogaW5oZXJpdDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IGluaGVyaXQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IHJlbS1jYWxjKDEyIDE0KTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogcmVtLWNhbGMoMTYpLFxuICBkZWZhdWx0OiByZW0tY2FsYygxOCksXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGRyb3Bkb3duLWJvcmRlcjogbm9uZTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDI3MHB4O1xuJGRyb3Bkb3duLXJhZGl1czogMDtcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJHdoaXRlO1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDI5LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IG5vbmU7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDMwLiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMyLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMy4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHdoaXRlO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiBpbmhlcml0O1xuJHRhYi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzNC4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzUuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM2LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNy4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLCBcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskcHJpbWFyeS1jb2xvcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgc2xhc2guXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZm9yIGJvcmRlcmVkIG1lbnVcbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG5cbiAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBTZXQgdG8gYG51bGxgIHRvIGRvIG5vdCBnZW5lcmF0ZSBzdHlsZXMgZm9yIGRpcmVjdGlvbi5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQpIHtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIEBpZiAkZGlyICE9IG51bGwge1xuICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlLWRpcmVjdGlvbigkZGlyKTtcbiAgfVxufVxuXG4vLy8gRGlyZWN0aW9uIG1vZGlmaWVyIGZvciBhIHNpbXBsZSBNZW51XG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51XG5AbWl4aW4gbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICAkbm8tbWFyZ2luLWRpcjogJGRpcjtcbiAgJG1hcmdpbi1kaXI6IGRpcmVjdGlvbi1vcHBvc2l0ZSgkZGlyKTtcblxuICBsaSB7XG4gICAgbWFyZ2luLSN7JG5vLW1hcmdpbi1kaXJ9OiAwO1xuICAgIG1hcmdpbi0jeyRtYXJnaW4tZGlyfTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkbWFyZ2luLWRpcik7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcblxuICAgICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRnbG9iYWwtcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICAgIC8vIE1ha2UgdmVydGljYWwgbWVudSB3aXRoIGljb25zIG9uIHRvcCB3b3JrXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgYSA+IHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBib3JkZXJcbiAgICAmLm1lbnUtYm9yZGVyZWQge1xuICAgICAgbGkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVudS1ib3JkZXI7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYmFja2dyb3VuZCBob3ZlclxuICAgICYubWVudS1ob3ZlciB7XG4gICAgICBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IHRvcCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsImEgeyBvdXRsaW5lOiBub25lOyB9XG5zdHJvbmcgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG5pZnJhbWUgeyBib3JkZXI6IDA7IH1cbiIsIi5jYWxsb3V0IHtcbiAgbWFyZ2luOiByZW0tY2FsYyg1IDApO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiIsIi5jbG9zZS1idXR0b24ge1xuICB0b3A6IHJlbS1jYWxjKDEyKTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICY6aG92ZXIgeyBjb2xvcjogaW5oZXJpdDsgfVxuICAmLS10b2dnbGVyIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgei1pbmRleDogMztcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gIH1cbn1cbiIsIi5jb29raWUtcG9saWN5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5O1xuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAmX190ZXh0IHsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpOyB9XG4gICZfX2Nsb3NlIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gICAgdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDEzKTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIH1cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuIiwiLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7IHotaW5kZXg6IDIgIWltcG9ydGFudDsgfVxuIiwiLmljb24ge1xuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAmLS1hcnJvdy1iYWNrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1YzQnO1xuICB9XG4gICYtLWFycm93LWZvcndhcmQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjOCc7XG4gIH1cbiAgJi0tYmlrZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNTJmJztcbiAgfVxuICAmLS1jYXI6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTUzMSc7XG4gIH1cbiAgJi0tY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2InO1xuICB9XG4gICYtLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjYyc7XG4gIH1cbiAgJi0tY2xvY2s6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg1NSc7XG4gIH1cbiAgJi0tZmluYW5jZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlODc3JztcbiAgfVxuICAmLS1lbmxhcmdlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1NmInO1xuICB9XG4gICYtLWV4cGFuZC1sZXNzOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2UnO1xuICB9XG4gICYtLWV4cGFuZC1tb3JlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2YnO1xuICB9XG4gICYtLWRvY3VtZW50OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4NzMnO1xuICB9XG4gICYtLWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG4gIH1cbiAgJi0tZmlsdGVyOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUxNTInO1xuICB9XG4gICYtLWdvb2dsZS1wbHVzOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG4gIH1cbiAgJi0taW1hZ2UtbGlicmFyeTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNDEzJztcbiAgfVxuICAmLS1pbmZvOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29udGVudDogJ1xcZTg4Zic7XG4gIH1cbiAgJi0tbGlua2VkaW46OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwZTFcIjtcbiAgfVxuICAmLS1tYWlsOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUxNTgnO1xuICB9XG4gICYtLW1lbnU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVkMic7XG4gIH1cbiAgJi0tcGxheTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMDM5JztcbiAgfVxuICAmLS1waG9uZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMGNkJztcbiAgfVxuICAmLS1yZWNlbnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg4OSc7XG4gIH1cbiAgJi0tc2hhcmU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTgwZCc7XG4gIH1cbiAgJi0tc2F2ZWQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZCc7XG4gIH1cbiAgJi0tc2VhcmNoOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4YjYnO1xuICB9XG4gICYtLXNtczo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNjI1JztcbiAgfVxuICAmLS10cmFuc2l0OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1MzUnO1xuICB9XG4gICYtLXR3aXR0ZXI6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgfVxuICAmLS1wcmludDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlOGFkJztcbiAgfVxuICAmLS12aWRlby1saWJyYXJ5OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUwNGEnO1xuICB9XG4gICYtLXdhbGs6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTUzNic7XG4gIH1cbiAgJi0td2hhdHNhcHA6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYyMzJcIjtcbiAgfVxufVxuIiwiLmxvZ28ge1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgJi0tdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICB9XG4gICYtLWltYWdlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG59XG4iLCIucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgJl9faGVhZGVyIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTsgfVxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgfVxuICB9XG4gICZfX3ZlaGljbGUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDIuMztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgJl9fdmVoaWNsZS1tYWtlLW1vZGVsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gICZfX3ZlaGljbGUtaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgfVxuICAmLS12ZWhpY2xlLWVucXVpcnksXG4gICYtLWVtYWlsLXZlaGljbGUsXG4gICYtLXZlaGljbGUtcGF5bWVudCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDUwIDMwIDMwKTsgfVxuICB9XG59XG4iLCIuZGF0ZXBpY2tlciB7XG4gIHRhYmxlIHtcbiAgICB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7IGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgfVxufVxuIiwiLnRhYnMge1xuICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAmID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICYudGFicy10aXRsZSA+IGEge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICAgICYudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgJi50YWJzLXRpdGxlID4gYTpob3ZlcixcbiAgICAmLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgICYudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtIHJlbS1jYWxjKDgpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjk5OTkpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJi50YWJzLXRpdGxlID4gYSB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgIH1cbiAgfVxufVxuLnZlaGljbGVfX3RvcCAge1xuICAudGFicy1jb250ZW50IHtcbiAgICAudGFicy1wYW5lbCB7IHBhZGRpbmc6IDA7IH1cbiAgfVxufVxuLnZlaGljbGVfX21pZGRsZSB7XG4gIC50YWJzLWNvbnRlbnQge1xuICAgIC50YWJzLXBhbmVsIHsgcGFkZGluZzogcmVtLWNhbGMoMjAgMCAwKTsgfVxuICB9XG59XG4iLCIudGVtcG9yYXJ5LXNsb2dhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB6LWluZGV4OiA5OTk7XG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IH1cbiAgICBhIHsgY29sb3I6ICR3aGl0ZTsgfVxuICB9XG59XG4iLCIudG9nZ2xlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDI3MCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxufVxuLnRvZ2dsZXItb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcbn1cbiIsIi5ibG9jay0tZm9vdGVyIHtcbiAgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDglKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyYW5jaC0tZm9vdGVyIHtcbiAgLmJyYW5jaF9fbmFtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJywnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuICAuYnJhbmNoX19hZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgc3BhbiB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkOjphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgfVxuICB9XG59XG4iLCIuYnJhbmNoLS1mdWxsIHtcbiAgLmJyYW5jaF9fbWFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICAjbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiByZW0tY2FsYyg0NjQpOyB9XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAuYnJhbmNoX19sb2dvcyxcbiAgLmJyYW5jaF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAuYnJhbmNoX192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAuYnJhbmNoX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgLmJyYW5jaF9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnJhbmNoX19kaXJlY3Rpb25zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICAmLXRpdGxlIHsgQGV4dGVuZCBoMzsgfVxuICB9XG59XG4iLCIuYnJhbmNoLS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAuYnJhbmNoX19uYW1lIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5icmFuY2hfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgIH1cbiAgfVxuICAuYnJhbmNoX19hZGRyZXNzIHtcbiAgICAmLXRpdGxlIHsgQGV4dGVuZCBoMzsgfVxuICAgIHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG4gIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gIH1cbiAgLmJyYW5jaF9fb3BlbmluZy1ob3VycyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gICAgc2VsZWN0IHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG4gIH1cbn1cbiIsIi5icmFuY2gtLXZlaGljbGUge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAuYnJhbmNoX19tYXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX25hbWUsXG4gIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUge1xuICAgIEBleHRlbmQgaDQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5icmFuY2hfX2FkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxuICAuYnJhbmNoX190ZWxlcGhvbmUsXG4gIC5icmFuY2hfX29wZW5pbmctaG91cnMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAmLXRpdGxlIHtcbiAgICAgIEBleHRlbmQgaDQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG4iLCIuY3VzdG9tLWVudHJ5LS1mZWF0dXJlZCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fY29udGVudC0td2l0aG91dC1tZWRpYSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAuY3VzdG9tLWVudHJ5X190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fc3ViLXRpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgfVxuICAuY3VzdG9tLWVudHJ5X19jdXN0b20tZmllbGRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuICAuY3VzdG9tLWVudHJ5X19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIuZGVwYXJ0bWVudC0tdGVhc2VyIHtcbiAgLmRlcGFydG1lbnRfX25hbWUgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gIC5kZXBhcnRtZW50X190ZWxlcGhvbmUge1xuICAgIC5kZXBhcnRtZW50X19sYWJlbCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGVwYXJ0bWVudF9fdmFsdWUgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gIH1cbiAgLmRlcGFydG1lbnRfX29wZW5pbmctaG91cnMge1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5kZXBhcnRtZW50X192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIH1cbiAgfVxufVxuIiwiLmRlcGFydG1lbnQtLXZlaGljbGUge1xuICAuZGVwYXJ0bWVudF9fdGVsZXBob25lIHtcbiAgICAuZGVwYXJ0bWVudF9fbGFiZWwge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRlcGFydG1lbnRfX3ZhbHVlIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICB9XG4gIC5kZXBhcnRtZW50X19vcGVuaW5nLWhvdXJzIHtcbiAgICAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLS1kZWxpdmVyeS1jYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgLmZvcm1fX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7IH1cbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIuZm9ybS0tZGlyZWN0aW9ucyB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuICAgIH1cbiAgfVxuICAuZmllbGQtZGVzdGluYXRpb24ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5mb3JtLS1zaW5nbGUtYnJhbmNoIHtcbiAgICAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmZvcm0tLXZlaGljbGUtZGlyZWN0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24ge1xuICBbdHlwZT0ndGV4dCddLFxuICBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgW3R5cGU9J2RhdGUnXSxcbiAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICBbdHlwZT0nbW9udGgnXSxcbiAgW3R5cGU9J3dlZWsnXSxcbiAgW3R5cGU9J2VtYWlsJ10sXG4gIFt0eXBlPSdudW1iZXInXSxcbiAgW3R5cGU9J3NlYXJjaCddLFxuICBbdHlwZT0ndGVsJ10sXG4gIFt0eXBlPSd0aW1lJ10sXG4gIFt0eXBlPSd1cmwnXSxcbiAgW3R5cGU9J2NvbG9yJ10sXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgbGFiZWwuZXJyb3Ige1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTkpO1xuICAgIG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gIH1cbiAgLmZvcm1fX2JhY2sge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgIGkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybV9fc3RlcDAge1xuICAgIC5maWVsZC1yZWdpc3RyYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb250cm9sLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAuZm9ybV9fc3RlcDEge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgIH1cbiAgICAuc3VtbWFyeSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpOyB9XG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIH1cbiAgICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udmFsdWF0aW9uIHtcbiAgJl9fcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG59XG4iLCIuZm9ybS0tc2VydmljZS1ib29raW5nIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgW3R5cGU9J3RleHQnXSxcbiAgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIFt0eXBlPSdkYXRlJ10sXG4gIFt0eXBlPSdkYXRldGltZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgW3R5cGU9J21vbnRoJ10sXG4gIFt0eXBlPSd3ZWVrJ10sXG4gIFt0eXBlPSdlbWFpbCddLFxuICBbdHlwZT0nbnVtYmVyJ10sXG4gIFt0eXBlPSdzZWFyY2gnXSxcbiAgW3R5cGU9J3RlbCddLFxuICBbdHlwZT0ndGltZSddLFxuICBbdHlwZT0ndXJsJ10sXG4gIFt0eXBlPSdjb2xvciddLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG4gIGxhYmVsLmVycm9yIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICB9XG4gIC5mb3JtX19zdGVwcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOSk7IH1cbiAgfVxuICAuZm9ybV9fc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7IH1cbiAgfVxuICAuZm9ybS1kaXNjbGFpbWVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gIH1cbiAgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1yZWdpc3RyYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAuZm9ybS1ncm91cF9faW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCI2N2RlZ3JlZXNcIjtcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udHJvbC1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSxcbiAgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUge1xuICAgIC5vcHRpb25zIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGFiZWwnLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xhYmVsJywgJGdyaWQtY29sdW1uLWd1dHRlcik7IH1cbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBpbnB1dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0OmNoZWNrZWQgKyAub3B0aW9uc19fZGV0YWlscyB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uc19fbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uc19fZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zX19wcmljZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSB7XG4gICAgLm9wdGlvbnMge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsYWJlbCcsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgJl9fbGFiZWwge1xuICAgICAgICBpbnB1dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDpjaGVja2VkICsgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbnNfX25hbWUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbnNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zX19wcmljZSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb25maXJtYXRpb24ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWxheW91dCgzLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTsgfVxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICYgPiBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAgICZfX3N0ZXAge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICAgICZfX2NoYW5nZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICAmX19yb3cgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTsgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gICAgJl9fdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gICAgJl9fcm93LS1hZGRpdGlvbmFsLXNlcnZpY2UsXG4gICAgJl9fcm93LS1zZXJ2aWNlLXR5cGUge1xuICAgICAgLmNvbmZpcm1hdGlvbl9fbGFiZWwsXG4gICAgICAuY29uZmlybWF0aW9uX192YWx1ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuICB9XG4gIC5zdW1tYXJ5IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgICZfX2xhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgJl9fdmFsdWUgeyBmbG9hdDogcmlnaHQ7IH1cbiAgICAmX19yb3ctLXNlcnZpY2UgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTsgfVxuICAgICZfX3Jvdy0tdG90YWwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDEwJSk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMyk7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tLXZlaGljbGUtcGF5bWVudCB7XG4gIC5mb3JtLW1hcmtldGluZyB7XG4gICAgJl9fZmllbGRzIHtcbiAgICAgIGlucHV0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgfVxuICAuZmllbGQtc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApOyB9XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuIiwiLmZvcm0tLXZlaGljbGUtc29ydCB7XG4gIHNlbGVjdCB7IGhlaWdodDogcmVtLWNhbGMoNDYpOyB9XG59XG4iLCIuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24ge1xuICAuZm9ybV9fYmFjayB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgaSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtX19kZXNjcmlwdGlvbiB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICAuZm9ybV9fcm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICB9XG4gIC5mb3JtX19yZWdpc3RyYXRpb24sXG4gIC5mb3JtX19taWxlYWdlLFxuICAuZm9ybV9fZmlyc3QtbmFtZSxcbiAgLmZvcm1fX2xhc3QtbmFtZSxcbiAgLmZvcm1fX3Bob25lLFxuICAuZm9ybV9fZW1haWwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICB9XG4gIH1cbiAgLmZvcm1fX3BhcnQtZXhjaGFuZ2UtdmVoaWNsZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICB9XG4gIC5zdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gICAgJl9fbGlzdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgLmNoZWNrYm94IHsgbWFyZ2luOiAwOyB9XG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtX19maWVsZC1oYXMtb3V0c3RhbmRpbmctZmluYW5jZSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICB9XG4gIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxNSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjgpIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgfVxuICAuZmllbGQtcGFydGV4Y2hhbmdlZm9ybS1saWdodGNvbmRpdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm1fX3ZhbHVhdGlvbiB7XG4gICAgaDMgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZvcm1fX3ZhbHVhdGlvbi1kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTsgfVxuICB9XG59XG4ucmV2ZWFsLS12ZWhpY2xlLXZhbHVhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gIHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbn1cbiIsImZvcm0ge1xuICBbdHlwZT0ndGV4dCddLFxuICBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgW3R5cGU9J2RhdGUnXSxcbiAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICBbdHlwZT0nbW9udGgnXSxcbiAgW3R5cGU9J3dlZWsnXSxcbiAgW3R5cGU9J2VtYWlsJ10sXG4gIFt0eXBlPSdudW1iZXInXSxcbiAgW3R5cGU9J3NlYXJjaCddLFxuICBbdHlwZT0ndGVsJ10sXG4gIFt0eXBlPSd0aW1lJ10sXG4gIFt0eXBlPSd1cmwnXSxcbiAgW3R5cGU9J2NvbG9yJ10ge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgJjpkaXNhYmxlZCB7IGNvbG9yOiAkZGFyay1ncmF5OyB9XG4gIH1cbiAgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzMmQzNzM3JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxMSA3KTtcbiAgICAmOmRpc2FibGVkIHsgY29sb3I6ICRkYXJrLWdyYXk7IH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmhlbHAtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICB9XG4gIFt0eXBlPSdoaWRkZW4nXSArIC5oZWxwLWJsb2NrIHsgZGlzcGxheTogbm9uZTsgfVxuICAucmVxdWlyZWQgbGFiZWwuY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgfVxuICAuZm9ybS1tYXJrZXRpbmcge1xuICAgICZfX21lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19maWVsZHMge1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAuanMtbWFya2V0aW5nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAuaGVscC1ibG9jayB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY2hhbm5lbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICBbdHlwZT0nY2hlY2tib3gnXSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cbn1cbi5mb3JtLWRpc2NsYWltZXIge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgb3BhY2l0eTogMC42O1xufVxuIiwiLm5vLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDc1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMjAlKTtcbiAgJl9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMTApO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4udmVoaWNsZS0tcmVjZW50bHktdmlld2VkIHtcbiAgLm5vLWltYWdlIHtcbiAgICAubm8taW1hZ2VfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYyg2KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxufVxuLnZlaGljbGUtLWZ1bGwge1xuICAubm8taW1hZ2Uge1xuICAgIC5uby1pbWFnZV9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDEzKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxufVxuLnZlaGljbGUtLXNpbWlsYXIge1xuICAubm8taW1hZ2Uge1xuICAgIC5uby1pbWFnZV9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgfVxufVxuLnZlaGljbGUtLWNvbXBhcmUge1xuICAubm8taW1hZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi52ZWhpY2xlLS10ZWFzZXIsXG4udmVoaWNsZS0tZmVhdHVyZWQsXG4udmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhcixcbi52ZWhpY2xlLS1sYXRlc3QsXG4udmVoaWNsZS0tbGF0ZXN0LXNpZGViYXIsXG4udmVoaWNsZS0tc2ltaWxhciB7XG4gIC5uby1pbWFnZSB7XG4gICAgLm5vLWltYWdlX190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDEzKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHJpbWFyeS1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC41KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMik7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxuICAmLS12ZWhpY2xlIHtcbiAgICAucHJpbWFyeS1pbWFnZV9faW1hZ2UgaW1nIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIH1cbn1cbiIsIi5zZWNvbmRhcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbn1cbiIsIi52aWRlbyB7XG4gICZfX3VybCB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgxNiBieSA5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICYtLXBhZ2Uge1xuICAgIC52aWRlb19fdGl0bGUge1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgfVxufVxuIiwiLm5ldy12ZWhpY2xlLS1mdWxsIHtcbiAgLm5ldy12ZWhpY2xlX190b3Age1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA1JSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgJi1pbm5lciB7IEBpbmNsdWRlIGdyaWQtcm93KCk7IH1cbiAgICAubmV3LXZlaGljbGVfX3Byb21vLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fYmFjayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBpIHsgZm9udC1zaXplOiByZW0tY2FsYygxMik7IH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIH1cbiAgICAgIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAubmV3LXZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uZXctdmVoaWNsZV9fcHJpY2UgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgICAgIC5uZXctdmVoaWNsZV9fdGVsZXBob25lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmV3LXZlaGljbGVfX2N0YSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gICYgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmID4gdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmID4gdWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknKTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWxheW91dCgzLCAnbGknKTsgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikgNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgzbikgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2hvdyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5leHBhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDc1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMSkwJSwgcmdiYSgkYm9keS1iYWNrZ3JvdW5kLDEpMjUlLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMCkxMDAlKTtcbiAgICB9XG4gICAgJi1vdXRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmLWlubmVyIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgICYtb3V0ZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA4JSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24ge1xuICAgICYgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICZfX3ZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlIHsgQGV4dGVuZCBoNDsgfVxuICAgICAgICAmIHVsIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtYnV0dG9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC5idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEge1xuICAgICYgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlIHsgQGV4dGVuZCBoNDsgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgJjo6YWZ0ZXIgeyBjb250ZW50OiAnOic7IH1cbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2RvY3VtZW50cyxcbiAgLm5ldy12ZWhpY2xlX19hdWRpbyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fc2ltaWxhciB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTsgfVxufVxuIiwiLm5ldy12ZWhpY2xlLS10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7IH1cbiAgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9faGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC5uZXctdmVoaWNsZV9fbWFrZSxcbiAgICAubmV3LXZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5uZXctdmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG4iLCIubmV3LXZlaGljbGUge1xuICAmX19tZWRpYS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDIpO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19wcm9tby10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYyg4KTtcbiAgICBsZWZ0OiByZW0tY2FsYyg4KTtcbiAgICBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQgOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5vZmZlci0tZmVhdHVyZWQge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLm9mZmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2UgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLm9mZmVyX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLm9mZmVyX19zdWItdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5vZmZlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuICAub2ZmZXJfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5vZmZlci0tZnVsbCB7XG4gIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLm9mZmVyX19kZXNjcmlwdGlvbixcbiAgLm9mZmVyX190YWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vZmZlcl9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAub2ZmZXJfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5vZmZlci0tdGVhc2VyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgLm9mZmVyX19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAub2ZmZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLm9mZmVyX19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIuYWRkLW9uIHtcblx0cGFkZGluZzogcmVtLWNhbGMoMTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygxNSk7IH1cblx0c3Bhbi5oYXMtZXJyb3IgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG5cdCZfX2lubmVyIHtcblx0XHRAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuXHR9XG5cdCZfX2ltYWdlIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgaW1nIHsgd2lkdGg6IDEwMCU7IH1cblx0fVxuXHQmX19kZXRhaWxzIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cdH1cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gIH1cblx0Jl9fbGluayB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG5cdCZfX2Rlc2NyaXB0aW9uIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApOyB9XG5cdCZfX3ZpZGVvIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgYTpob3ZlcixcbiAgICBhOmZvY3VzIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgc3BhbiB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgfVxuXHQmX192aWRlby1hcHByb3ZhbCB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTsgfVxuXHQmLS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDIwJSk7IH1cblx0Ji0taW1hZ2Uge1xuXHRcdC5hZGQtb25fX2RldGFpbHMge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig5KTtcbiAgICAgIH1cblx0XHR9XG5cdH1cbn1cbi5saXN0aW5nLS1hZGQtb24ge1xuXHQubGlzdGluZ19fbGlzdCB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcblx0XHRAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHQmLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0fVxuXHR9XG59XG4iLCIuY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTsgfVxuICAmX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgLmNhbGVuZGFyX19zd2l0Y2gge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgICAgICBpIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTsgfVxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBhIHtcbiAgICAgICAgICBpIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhbGVuZGFyX19tb250aCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgc3BhbiB7XG4gICAgICAgIEBleHRlbmQgaDM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3RhYmxlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0aCB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyB9XG4gICAgICB0ZCB7XG4gICAgICAgICYuc2xvdCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jbG9zZWQge1xuICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAgICY6aG92ZXIgeyBjdXJzb3I6IGF1dG87IH1cbiAgICAgICAgfVxuICAgICAgICAmLnNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5yZXZlYWwucmV2ZWFsLS1jb2xsZWN0aW9uLW1hcCB7IHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7IH1cbiNjb2xsZWN0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuIiwiLmNvbGxlY3Rpb24tZGVsaXZlcnkge1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDE1KTsgfVxuICAmLS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDIwJSk7IH1cbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICB9XG4gICZfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTsgfVxuICAmX19hZGRyZXNzIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApOyB9XG4gICZfX21hcCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHNwYW4geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIH1cbiAgJl9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG4gICYtLWltYWdlIHtcbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fZGV0YWlscyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkge1xuXHQubGlzdGluZ19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0QGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcblx0XHRAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblx0XHQmLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0fVxuXHR9XG59XG4iLCIub3JkZXItaW50cm9kdWN0aW9uIHtcbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIub3JkZXItcGF5bWVudCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoMTUpOyB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICB9XG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgfVxuICAmX19saW5rIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5vcmRlci1wcm9ncmVzcyB7XG4gICZfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpLmFjdGl2ZSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2JhciB7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgfVxuICAgICYtLTIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTMge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNCwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTYge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJl9fc3ViLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICB9XG4gICZfX2JhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGhlaWdodDogcmVtLWNhbGMoMTUpOyB9XG4gIH1cbn1cbiIsIi5vcmRlci1zdW1tYXJ5IHtcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7IH1cbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxufVxuIiwiLm9yZGVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgJl9fcHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAmX19zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICB9XG4gICZfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTsgfVxuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LWV4Y2hhbmdlIHtcbiAgJl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApOyB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wYWdlX19jb250ZW50LS13aXRob3V0LW1lZGlhIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wYWdlX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBhZ2VfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gIH1cbiAgLnBhZ2VfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LS1mZWF0dXJlZCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAucGFydF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAucGFydF9fdGl0bGUge1xuICAgIEBleHRlbmQgaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5wYXJ0X19zdWItdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG4gIC5wYXJ0X19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIucGFydC0tZnVsbCB7XG4gIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhcnRfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2ZpbGVzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnBhcnRfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG4gIC5wYXJ0X19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIubWV0YSB7XG4gICYgPiB1bCB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTUgMCk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICB9XG4gIH1cbiAgJl9fcHVibGlzaGVkIHtcbiAgICBzcGFuIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICB9XG4gICZfX2NhdGVnb3JpZXMsXG4gICZfX3RhZ3Mge1xuICAgICYtdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLWRlZmF1bHQge1xuICAucG9zdF9fZGVzY3JpcHRpb24geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAucG9zdF9fdmlkZW9zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAucG9zdF9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLWZlYXR1cmVkIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wb3N0X190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBvc3RfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLnBvc3RfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wb3N0LS1mdWxsLXdpZHRoIHtcbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wb3N0X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wb3N0X192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAucG9zdF9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLXRlYXNlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAucG9zdF9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2UgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLnBvc3RfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5xdWljay1zZWFyY2gge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICZfX2xlZ2VuZCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBleHRlbmQgaDM7XG4gIH1cbiAgLmZpZWxkLXNlYXJjaC1zdHJpbmcge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICB9XG59XG4iLCIuc2VhcmNoLXNlbGVjdGlvbiB7XG4gICZfX2NvdW50IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgfVxuICB9XG4gICZfX3BhcmFtZXRlcnMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAmX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IHJlbS1jYWxjKDUgNSA1IDApO1xuICB9XG4gICZfX3BhcmFtZXRlciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgNiA1IDEyKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaG93cm9vbS0tZmVhdHVyZWQge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG59XG4iLCIuc2hvd3Jvb20tLWZ1bGwge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnNob3dyb29tX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnNob3dyb29tX192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC5zaG93cm9vbV9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNob3dyb29tLS10ZWFzZXIge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG59XG4iLCIucHJpY2Uge1xuICAmX190b3RhbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgJl9fc29sZCB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmLS10ZWFzZXIge1xuICAgICYgPiBkaXYge1xuICAgICAgJjpudGgtY2hpbGQoMSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDI0KTsgfVxuICAgICAgJjpudGgtY2hpbGQoMikgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgIH1cbiAgfVxuICAmLS1mdWxsIHtcbiAgICAucHJpY2VfX3RvdGFsLFxuICAgIC5wcmljZV9fc29sZCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpOyB9XG4gICAgfVxuICAgIC5wcmljZV9fbW9udGhseSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpOyB9XG4gIH1cbiAgJi0tY29tcGFyZSB7XG4gICAgLnByaWNlX190b3RhbCxcbiAgICAucHJpY2VfX3NvbGQge1xuICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICAmLS1yZWNlbnRseS12aWV3ZWQge1xuICAgIC5wcmljZV9fdG90YWwsXG4gICAgLnByaWNlX19zb2xkIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG4ucHJpY2UtY29tYmluZWQge1xuICAmX192YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gIH1cbiAgJl9fdmF0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQpO1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG4gICZfX3dhcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICYtbGFiZWwgeyBmb250LXNpemU6IDY1JTsgfVxuICAgICYtdmFsdWUgeyBmb250LXNpemU6IDc1JTsgfVxuICB9XG59XG4iLCIuc3BlY2lmaWNhdGlvbiB7XG4gICZfX3ZhbHVlIHsgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IH1cbn1cbiIsIi52ZWhpY2xlLS1jb21wYXJlIHtcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxODApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICYgPiBsaSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7IH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMSk7XG4gICAgfVxuICB9XG59XG4iLCIudmVoaWNsZS0tZ2VuZXJhbCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6MTIsJGd1dHRlcnM6MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAudmVoaWNsZV9fdGl0bGUge1xuICAgIEBleHRlbmQgaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLnZlaGljbGVfX21ha2UsXG4gICAgLnZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC52ZWhpY2xlX19tb2RlbC12YXJpYW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgJiA+IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgJiA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICAgICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIC50ZWNobmljYWwtZGF0YV9fdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi52ZWhpY2xlLS1sYXRlc3Qge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOjEyLCRndXR0ZXJzOjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudmVoaWNsZV9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuICAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlX19tb2RlbCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICYgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgICAgIC50ZWNobmljYWwtZGF0YV9fdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudmVoaWNsZS0tcmVjZW50bHktdmlld2VkIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDYgMCk7XG4gIH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuIiwiLmwtYWxlcnQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbn1cbiIsIi5sLWJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuIiwiLmNyZWRpdC1jYWxjdWxhdG9yIHtcbiAgJi0tZnVsbCB7XG4gICAgLmNyZWRpdC1jYWxjdWxhdG9yX19yZXN1bHRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mYW5jeWJveC1zbGlkZSA+IC5mYW5jeWJveC1sb2FkaW5nIHsgLXdlYmtpdC1hbmltYXRpb246IGIgLjhzIGluZmluaXRlIGxpbmVhcjsgfVxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7IHBhZGRpbmc6IDA7IH1cbiIsIi5maW5hbmNlLXByaWNlIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICB9XG4gIH1cbiAgJl9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG4gICZfX3ZhbHVlIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAmX19zdWZmaXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxuICAmLS1mdWxsIHtcbiAgICAuZmluYW5jZS1wcmljZV9fbGlzdC1pdGVtIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgICAgIGZvbnQtc2l6ZTogNjUlO1xuICAgICAgICBjb250ZW50OiAnb3InO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maW5hbmNlLXByaWNlX19saW5rIHtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmZpbmFuY2UtZm9ybSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5maW5hbmNlLWZvcm1fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgfVxuICAuZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigzKTsgfVxuICB9XG4gIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uZmluYW5jZS1zdW1tYXJ5IHsgZGlzcGxheTogbm9uZTsgfVxuLmZpbmFuY2UtdGFibGVzIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJy5maW5hbmNlLXRhYmxlJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnLmZpbmFuY2UtdGFibGUnLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgfVxuICAmLS0zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgzLCAnLmZpbmFuY2UtdGFibGUnLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICB9XG4gIH1cbiAgLmZpbmFuY2Utd2FybmluZyB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uZmluYW5jZS10YWJsZS0tdGVhc2VyIHtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGhlYWQgdGgsXG4gICAgdGhlYWQgdGQsXG4gICAgdGJvZHkgdGQge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICB0Ym9keSB0ZCB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gIH1cbn1cbi5maW5hbmNlLWV4YW1wbGUge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW46IHJlbS1jYWxjKDEwIDAgMTUpO1xuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICZfX3RhYmxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICB9XG4gICAgdGhlYWQsXG4gICAgdGJvZHksXG4gICAgdGZvb3QgeyBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgdGhlYWQgdGgge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIHRib2R5IHRkIHsgcGFkZGluZy10b3A6IDA7IH1cbiAgICB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgfVxuICB9XG4gICZfX2Rpc2NsYWltZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgfVxufVxuLmZpbmFuY2UtZGlzY2xhaW1lciB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICYtLWZ1bGwge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTUgMCAwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5maW5hbmNlLWNoZWNrZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICZfX3ZpZGVvIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIH1cbiAgICAmLWlubmVyIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoMTYgYnkgOSk7XG4gICAgfVxuICB9XG4gICZfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gICAgJi1pbWFnZSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIyMCk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZmluYW5jZS13aWRnZXQge1xuICAmX192aWRlb3Mge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7IH1cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3ZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKDE2IGJ5IDkpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5maW5hbmNlLWxhdW5jaGVyIHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuY3ctdmlldy1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIH1cbiAgfVxufVxuLmZpbmFuY2UtZm9ybS1vcmRlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gIH1cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTsgfVxuICAgIC5oZWxwLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7IH1cbiAgfVxufVxuLmZpbmFuY2UtdGFibGUtLW9yZGVyLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lcicsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDIsICcuZmluYW5jZS10YWJsZV9fY29udGFpbmVyJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gIH1cbiAgLmZpbmFuY2UtdGFibGVfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZmluYW5jZS10YWJsZV9fdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZmluYW5jZS10YWJsZV9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbiAgfVxuICAuZmluYW5jZS10YWJsZV9fbGluayxcbiAgLmZpbmFuY2UtdGFibGVfX2FwcGx5LFxuICAuZmluYW5jZS10YWJsZV9fZGVhbCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbiAgLmZpbmFuY2UtdGFibGVfX2Rpc2NsYWltZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG59XG4uZmluYW5jZS1uby1yZXN1bHRzIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpOyB9XG4uZmluYW5jZS1pdGVtIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICB9XG4gICZfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4uZmluYW5jZS1wcm9wb3NhbC1mb3JtIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC5jYXJkLWRpdmlkZXIge1xuICAgICAgQGV4dGVuZCBoMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoMTUpOyB9XG4gICAgfVxuICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxMCAxMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygwIDE1IDE1KTsgfVxuICAgIH1cbiAgfVxuICAuZm9ybV9fcm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICB9XG4gIC5mb3JtX19jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgfVxuICB9XG4gIC5mb3JtX190aXRsZSB7IEBleHRlbmQgaDQ7IH1cbiAgLmZvcm1fX2Rlc2NyaXBpb24geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgLmZvcm1fX2Rpc2NsYWltZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAuZm9ybV9fbGluayB7XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuLmZpbmFuY2UtcHJvcG9zYWwtcGx1Z2luIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpOyB9XG4iLCIucmV2aWV3LXN1bW1hcnkge1xuICAmX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19hdmVyYWdlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgJl9fdG90YWwtcmVzcG9uc2VzIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuICAgIH1cbiAgfVxufVxuLnJldmlldy1saXN0aW5nIHtcbiAgJl9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAmLWZpcnN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLXNlY29uZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbG9nbyB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAmX19zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbG9hdDogcmlnaHQ7IH1cbiAgfVxuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gICZfX2xpc3QtaXRlbSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuICAgIH1cbiAgfVxufVxuLnJldmlldyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpOyB9XG4gICZfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICYtZmlyc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgICB9XG4gICAgfVxuICAgICYtc2Vjb25kIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZGF0ZSB7XG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICB9XG4gICZfX3JhdGluZy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gIH1cbn1cbi5yZXZpZXctcmF0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogcmVtLWNhbGMoMTYxKTtcbiAgaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb3JlL2ltZy9mZWVmby9zdGFycy5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygzMiA1NSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvcmUvaW1nL2ZlZWZvL3N0YXJzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDMyIDU0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjcpO1xuICB9XG59XG4iLCIuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgJiA+IGxpIHtcbiAgICBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICAgIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuICAgIGEuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuICAgIGEuYWNjb3JkaW9uLXRpdGxlW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgIGEuYWNjb3JkaW9uLXRpdGxlW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoOCk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSguOTk5OSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgei1pbmRleDogNDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudC0tbm8tcGFkZGluZyB7IHBhZGRpbmc6IDA7IH1cbiAgfVxuICAmLS1iYXNpYyB7XG4gICAgJiA+IGxpIHtcbiAgICAgIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhLmFjY29yZGlvbi10aXRsZTpmb2N1cyxcbiAgICAgIGEuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuICAgICAgYS5hY2NvcmRpb24tdGl0bGVbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIH1cbiAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7IH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA2KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiYnV0dG9uIHsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbi5idXR0b24ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICYtLWFsZXJ0IHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGJhY2tncm91bmQ6JGFsZXJ0LWNvbG9yLCRiYWNrZ3JvdW5kLWhvdmVyOmF1dG8pO1xuICB9XG4gICYtLWZpbHRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxuICAmLS1mdWxsLXdpZHRoLFxuICAmLS1uby1tYXJnaW4geyBcbiAgICBAaW5jbHVkZSBidXR0b24oJGJhY2tncm91bmQ6JHByaW1hcnktY29sb3IsJGJhY2tncm91bmQtaG92ZXI6YXV0byk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgXG4gIH1cbiAgJi0tc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGJhY2tncm91bmQ6JGJsdWUsJGJhY2tncm91bmQtaG92ZXI6YXV0byk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgXG4gIH1cbiAgJi0tcmVzZXQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkYmFja2dyb3VuZDokcHJpbWFyeS1jb2xvciwkYmFja2dyb3VuZC1ob3ZlcjphdXRvKTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDEyKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICB9XG4gICYtLXNlY29uZGFyeS1jb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRiYWNrZ3JvdW5kOiRzZWNvbmRhcnktY29sb3IsJGJhY2tncm91bmQtaG92ZXI6YXV0byk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgfVxuICAmLS1zbWFsbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICB9XG4gICYtLXhzbWFsbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNiA4KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAmLS1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgJi0tb3V0bGluZS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gIH1cbiAgJi0tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRiYWNrZ3JvdW5kOiRibHVlLCRiYWNrZ3JvdW5kLWhvdmVyOmF1dG8pO1xuICB9XG59XG4iLCIuY3JlZGl0cyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB9XG4gICZfX2NvbXBhbnkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTsgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgfVxuICB9XG59XG4iLCIuZGlzY2xhaW1lciB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbjogMDsgfVxuICB9XG59IiwiLmljb24ge1xuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAmLS1hcnJvdy1iYWNrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1YzQnO1xuICB9XG4gICYtLWFycm93LWZvcndhcmQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjOCc7XG4gIH1cbiAgJi0tYmlrZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNTJmJztcbiAgfVxuICAmLS1jYXI6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTUzMSc7XG4gIH1cbiAgJi0tY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2InO1xuICB9XG4gICYtLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjYyc7XG4gIH1cbiAgJi0tY2xvY2s6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg1NSc7XG4gIH1cbiAgJi0tZmluYW5jZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlODc3JztcbiAgfVxuICAmLS1lbmxhcmdlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1NmInO1xuICB9XG4gICYtLWV4cGFuZC1sZXNzOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2UnO1xuICB9XG4gICYtLWV4cGFuZC1tb3JlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1Y2YnO1xuICB9XG4gICYtLWRvY3VtZW50OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4NzMnO1xuICB9XG4gICYtLWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG4gIH1cbiAgJi0tZmlsdGVyOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUxNTInO1xuICB9XG4gICYtLWdvb2dsZS1wbHVzOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG4gIH1cbiAgJi0taW1hZ2UtbGlicmFyeTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNDEzJztcbiAgfVxuICAmLS1pbmZvOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29udGVudDogJ1xcZTg4Zic7XG4gIH1cbiAgJi0tbGlua2VkaW46OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwZTFcIjtcbiAgfVxuICAmLS1tYWlsOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUxNTgnO1xuICB9XG4gICYtLW1lbnU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVkMic7XG4gIH1cbiAgJi0tcGxheTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMDM5JztcbiAgfVxuICAmLS1waG9uZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMGNkJztcbiAgfVxuICAmLS1tb2JpbGU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTMyYyc7XG4gIH1cbiAgJi0tcmVjZW50OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4ODknO1xuICB9XG4gICYtLXNoYXJlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4MGQnO1xuICB9XG4gICYtLXNhdmVkOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4N2QnO1xuICB9XG4gICYtLXNlYXJjaDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlOGI2JztcbiAgfVxuICAmLS1zbXM6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTYyNSc7XG4gIH1cbiAgJi0tdHJhbnNpdDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNTM1JztcbiAgfVxuICAmLS10d2l0dGVyOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gIH1cbiAgJi0tcHJpbnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZThhZCc7XG4gIH1cbiAgJi0tdmlkZW8tbGlicmFyeTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMDRhJztcbiAgfVxuICAmLS13YWxrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1MzYnO1xuICB9XG4gICYtLXdoYXRzYXBwOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMjMyXCI7XG4gIH1cbn1cbiIsIi5saXN0aW5nIHtcbiAgJl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgJi0tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbiAgJi0tYmxvY2stZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tYmxvY2stc2lkZWJhciB7XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWJyYW5jaC1mb290ZXIge1xuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgICYtaXRlbSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAmLS1icmFuY2gtdGVhc2VyLFxuICAmLS1wYWdlLXRlYXNlcixcbiAgJi0tcG9zdC10ZWFzZXIsXG4gICYtLXBhcnQtdGVhc2VyIHtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7IH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWN1c3RvbS1lbnRyeS10ZWFzZXIge1xuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMyU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1vZmZlci10ZWFzZXIge1xuICAgICNqcy1vZmZlci1saXN0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLW5ldy12ZWhpY2xlLXRlYXNlciB7XG4gICAgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIH1cbiAgICAubGlzdGluZ19fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgIH1cbiAgICAubGlzdGluZ19fZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIH1cbiAgICAubGlzdGluZ19fb3JkZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTsgfVxuICAgICAgLnZlaGljbGUtb3JkZXIgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpOyB9XG4gICAgICAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgICAgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2l0ZW0tY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAgIH1cbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICB9XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2Zvb3RlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB9XG4gICYtLXNob3dyb29tLXRlYXNlciB7XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXZlaGljbGUtY29tcGFyZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAubGlzdGluZ19faGVhZGVyIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gICAgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZsb2F0OiBsZWZ0OyB9XG4gICAgfVxuICAgIC5saXN0aW5nX19yZW1vdmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ19fa2V5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigzKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDIpO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIyMyAwIDAgMCk7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNyAwIDAgMTUpO1xuICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOSk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQge1xuICAgIC5saXN0aW5nX190aXRsZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ19fbm8taXRlbXMgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgfVxuICAmLS12ZWhpY2xlLWZlYXR1cmVkLFxuICAmLS12ZWhpY2xlLWxhdGVzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1nZW5lcmFsLFxuICAmLS12ZWhpY2xlLXNpbWlsYXIge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyLFxuICAmLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICAgIC5saXN0aW5nX190aXRsZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAmLS12ZWhpY2xlLXRlYXNlciB7XG4gICAgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICBib3JkZXI6ICRnbG9iYWwtYm9yZGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICYtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6MTIsICRndXR0ZXJzOjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpOyB9XG4gICAgfVxuICAgIC5saXN0aW5nX19kZXNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgfVxuICAgIC5saXN0aW5nX19vcmRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb3JtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTsgfVxuICAgICAgLnZlaGljbGUtb3JkZXIgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpOyB9XG4gICAgICAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgICAgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICAgIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy0tcmVkdWNlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpOyB9XG4gICAgLmxpc3RpbmdfX2FkanVzdC1maW5hbmNlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2ZpbmFuY2UtZm9ybSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczoxMiwgJGd1dHRlcnM6IDApO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2l0ZW0tY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgzLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIH1cbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSkpOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nX19maW5hbmNlLWV4YW1wbGUgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7IH1cbiAgICAubGlzdGluZ19fZm9vdGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzLWljb24ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgJi0tb3JkZXItcGF5bWVudCB7XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjgpIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICAgICYtMiB7XG4gICAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZW51LXRvZ2dsZSB7XG4gIGEge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzcpO1xuICAgIGksXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIGk6OmJlZm9yZSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpOyB9XG4gIH1cbn1cbi5tZW51IHtcbiAgJi0tbWFpbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgfVxuICAgIGxpIGEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMyAxNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDApO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAuMztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJiA+IGxpID4gdWwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5zdWJtZW51IGxpIGEge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA0MCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tZml4ZWQge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjQgMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nOiByZW0tY2FsYyg2IDAgNiA0MCk7IH1cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJiArIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1tZW51LXRvZ2dsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgYSBpICsgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgfVxuICAgICAgJi0tc2F2ZSB7XG4gICAgICAgIC5zYXZlZC1jb3VudGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gbGkgPiB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAmLS1zaGFyZSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDApO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICYtLWZhY2Vib29rIHsgYmFja2dyb3VuZC1jb2xvcjogIzBiNTk5ODsgfVxuICAgICAgICAgICYtLWdvb2dsZS1wbHVzIHsgYmFja2dyb3VuZC1jb2xvcjogI0RBNDgzNTsgfVxuICAgICAgICAgICYtLWxpbmtlZGluIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdCNTsgfVxuICAgICAgICAgICYtLXR3aXR0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA5OWZmOyB9XG4gICAgICAgICAgJi0td2hhdHNhcHAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDFFNjc1OyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLXNtcyxcbiAgICAgICYtLXdoYXRzYXBwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1zb2NpYWwge1xuICAgIGxpIGEgeyBmb250LXNpemU6IHJlbS1jYWxjKDM0KTsgfVxuICB9XG4gICYtLXZlaGljbGUtZmVhdHVyZWQsXG4gICYtLXZlaGljbGUtbGF0ZXN0IHtcbiAgICAubWVudS1pdGVtIHtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyIDUpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4geyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIGk6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICAgICAgY29udGVudDogJ1xcZTg3ZSc7XG4gICAgICAgIH1cbiAgICAgICAgJi5qcy1zYXZlLXZlaGljbGUtLXNhdmVkIGk6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICAgICAgY29udGVudDogJ1xcZTg3ZCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS10ZWFzZXIge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZzogcmVtLWNhbGMoMiA1KTsgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUtaXRlbS0tZmluYW5jZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE2IDkgMCk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUtaXRlbS0tc2hhcmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygxMCAxNiA5IDApOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51LWl0ZW0tLXNhdmUge1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCByZ2JhKCRibGFjaywgMC4zKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNiA5IDApO1xuICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICAgICAgaTo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgICBjb250ZW50OiAnXFxlODdlJztcbiAgICAgICAgfVxuICAgICAgICAmLmpzLXNhdmUtdmVoaWNsZS0tc2F2ZWQgaTo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgICBjb250ZW50OiAnXFxlODdkJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubWVudS1pdGVtLS12aWV3LWRldGFpbHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1mdWxsLCAmLS12ZWhpY2xlX19wYXltZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHJlbS1jYWxjKDE1KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBhe1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbGl7XG4gICAgICAgIGZsZXg6MSAxIDhlbTtcbiAgICAgICAgbWF4LXdpZHRoOjIwZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXZlaGljbGVfX3BheW1lbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICBsaSB7XG4gICAgICAgIG1heC13aWR0aDogMjBlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5pcy1kcmlsbGRvd24ge1xuICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvciwgMTAlKTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYm9yZGVyOiBub25lO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvciwgMTAlKTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICR3aGl0ZTtcbn1cbi5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxOCk7IH1cbi5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTEwLjU5LjU5TDYgNS4xNyAxLjQxLjU5IDAgMmw2IDYgNi02JyBmaWxsPSclMjNmZmZmZmYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxMSA3KTtcbiAgd2lkdGg6IHJlbS1jYWxjKDExKTtcbiAgaGVpZ2h0OiByZW0tY2FsYyg3KTtcbiAgYm9yZGVyOiBub25lO1xuICByaWdodDogcmVtLWNhbGMoNik7XG59XG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvciwgMTAlKTtcbn1cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzZmZmZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTEgNyk7XG4gIHdpZHRoOiByZW0tY2FsYygxMSk7XG4gIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygzKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzZmZmZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTEgNyk7XG4gIHdpZHRoOiByZW0tY2FsYygxMSk7XG4gIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmpzLWRyaWxsZG93bi1iYWNrID4gYSBzcGFuIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuIiwiLnBhZ2luYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDApO1xuICAgIGEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxMiA4KTtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBzcGFuIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5jdXJyZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmZpcnN0IGEgc3Bhbjo6YmVmb3JlLFxuICAgICYucHJldmlvdXMgYSBzcGFuOjpiZWZvcmUsXG4gICAgJi5uZXh0IGEgc3Bhbjo6YWZ0ZXIsXG4gICAgJi5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJi5maXJzdCBhIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxlNWRjJztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgfVxuICAgICYucHJldmlvdXMgYSBzcGFuOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZTVjYic7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgIH1cbiAgICAmLm5leHQgYSBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgJi5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTVkZCc7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMik7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgc3Bhbjo6YmVmb3JlLFxuICAgICAgc3Bhbjo6YWZ0ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgfVxuICB9XG4gICYtLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIGxpIHtcbiAgICAgICYuZmlyc3QsXG4gICAgICAmLnByZXZpb3VzLFxuICAgICAgJi5uZXh0LFxuICAgICAgJi5sYXN0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zm9jdXMgc3BhbixcbiAgICAgICAgICAmOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuIiwiLnRhYnMge1xuICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAmID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICYudGFicy10aXRsZSA+IGEge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi50YWJzLXRpdGxlID4gYTpmb2N1cyxcbiAgICAmLnRhYnMtdGl0bGUgPiBhOmhvdmVyLFxuICAgICYudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgJi50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoOCk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSguOTk5OSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgei1pbmRleDogNDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmLnRhYnMtdGl0bGUgPiBhIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgfVxuICB9XG59XG4udmVoaWNsZV9fdG9wICB7XG4gIC50YWJzLWNvbnRlbnQge1xuICAgIC50YWJzLXBhbmVsIHsgcGFkZGluZzogMDsgfVxuICB9XG59XG4udmVoaWNsZV9fbWlkZGxlIHtcbiAgLnRhYnMtY29udGVudCB7XG4gICAgLnRhYnMtcGFuZWwgeyBwYWRkaW5nOiByZW0tY2FsYygyMCAwIDApOyB9XG4gIH1cbn1cbiIsIi53aGF0c2FwcC1pY29uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgbGVmdDogcmVtLWNhbGMoMjApO1xuICB6LWluZGV4OiA5OTk7XG4gIGEge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYygxMikgcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogcmdiKDM1LCAxNzksIDU4KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICA0NWRlZyxcbiAgICAgIHJnYmEoMzUsIDE3OSwgNTgsIDEpIDAlLFxuICAgICAgcmdiYSg4NSwgMjA4LCA5NywgMSkgMTAwJVxuICAgICk7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tdG9wOiAtKHJlbS1jYWxjKDEwKSk7XG4gICAgfVxuICB9XG59XG4uY29udHJvbGxlci12ZWhpY2xlLmFjdGlvbi1kZXRhaWwgLndoYXRzYXBwLWljb24ge1xuICBib3R0b206IHJlbS1jYWxjKDc1KTtcbn0iLCIuYmxvY2stLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICY6aG92ZXIge1xuICAgIC5ibG9ja19fcHJpbWFyeS1pbWFnZXMgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB9XG4gIH1cbiAgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX2RldGFpbHMge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmJsb2NrX19zdWItdGl0bGUge1xuICAgIEBleHRlbmQgaDU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuYmxvY2tfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG59XG4iLCIuYmxvY2stLW9jdGFuZS1maW5hbmNlLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC5ibG9ja19fcHJpbWFyeS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogIzE2YWZhZDtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG4gIC5ibG9ja19fZGV0YWlscyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgfVxuICAuYmxvY2tfX3NlY29uZGFyeS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICB9XG4gIC5ibG9ja19fdGl0bGUge1xuICAgIEBleHRlbmQgaDE7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAuYmxvY2tfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG9wYWNpdHk6IC43NTtcbiAgfVxuICAuYmxvY2tfX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgfVxufSIsIi5ibG9jay0tc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYm9yZGVyOiAkZ2xvYmFsLWJvcmRlcjtcbiAgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuYmxvY2tfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gIC5ibG9ja19fZGV0YWlscyB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgfVxuICAuYmxvY2tfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoNTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5ibG9ja19fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbn1cbiIsIi5jdXN0b20tZW50cnktLWZ1bGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICB9XG4gIC5jdXN0b20tZW50cnlfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICB9XG4gIC5jdXN0b20tZW50cnlfX3JhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTYxKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9pbWcvc3RhcnMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDMyIDU1KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJi1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L2ltZy9zdGFycy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yN3B4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygzMiA1NCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgIH1cbiAgfVxuICAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgYSB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgfVxufVxuIiwiLmN1c3RvbS1lbnRyeS0tdGVhc2VyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDQwIG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7IH1cbiAgLmN1c3RvbS1lbnRyeV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fdGl0bGUge1xuICAgIEBleHRlbmQgaDI7XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fcmF0aW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNjEpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L2ltZy9zdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMzIgNTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3QvaW1nL3N0YXJzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI3cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDMyIDU0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGEgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gIH1cbn1cbiIsIi5mb3JtLS1wYXJ0LWV4Y2hhbmdlIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gIH1cbiAgLmZvcm1fX2ZpZWxkc2V0IHsgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gIH1cbiAgLmZvcm1fX2xlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAuZm9ybV9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250cm9sLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG4iLCIuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUge1xuICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMzApO1xuICB9XG4gIFt0eXBlPSd0ZXh0J10sXG4gIFt0eXBlPSdwYXNzd29yZCddLFxuICBbdHlwZT0nZGF0ZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gIFt0eXBlPSdtb250aCddLFxuICBbdHlwZT0nd2VlayddLFxuICBbdHlwZT0nZW1haWwnXSxcbiAgW3R5cGU9J251bWJlciddLFxuICBbdHlwZT0nc2VhcmNoJ10sXG4gIFt0eXBlPSd0ZWwnXSxcbiAgW3R5cGU9J3RpbWUnXSxcbiAgW3R5cGU9J3VybCddLFxuICBbdHlwZT0nY29sb3InXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICBsYWJlbC5lcnJvciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgfVxuICAuZm9ybV9fYmFjayB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgaSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtX19zdGVwMCB7XG4gICAgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbnRyb2wtbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG59XG4iLCIub3JkZXItc3RhdGUtc3VtbWFyeSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoMTUpOyB9XG4gICZfX3ZlaGljbGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICB9XG4gICZfX3ZlaGljbGUtdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gIH1cbiAgJl9fdmVoaWNsZS1wcmljZSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyB9XG4gICZfX3ZlaGljbGUtYWRtaW4tZmVlIHsgZm9udC1zaXplOiA3NSU7IH1cbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7IH1cbiAgICB0Ym9keSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpOyB9XG4gICAgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAmLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGVfX3RvdGFsIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICYub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZV9fdmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLS1jb250YWN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAucGFnZV9fbWFwIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAjbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiByZW0tY2FsYyg0NjQpOyB9XG4gICAgfVxuICB9XG4gIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHktYmFja2dyb3VuZCw1JSk7XG4gICAgYm9yZGVyOiAkZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgfVxuICAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYWdlX192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2ZpbGVzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2RpcmVjdGlvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gIH1cbiAgLnBhZ2VfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICAmLXRpdGxlIHsgQGV4dGVuZCBoMjsgfVxuICB9XG59XG4iLCIucGFnZS0tZGVmYXVsdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJi1uby1pbWFnZSB7XG4gICAgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgfVxuICB9XG4gIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2lubmVyLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHktYmFja2dyb3VuZCw1JSk7XG4gICAgYm9yZGVyOiAkZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgfVxuICAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYWdlX192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlX19maWxlcyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlX19jaGlsZHJlbiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgfVxuICAucGFnZV9fZm9ybSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5wYWdlLS1mdWxsLXdpZHRoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmID4gLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAucGFnZV9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHktYmFja2dyb3VuZCw1JSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlcjogJGdsb2JhbC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgXG4gICAgJiA+IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYgPiAucGFnZV9fdmlkZW9zIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAmID4gLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgICBwIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYgPiAucGFnZV9fZmlsZXMge1xuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWdlX19jaGlsZHJlbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICB9XG4gICAgLnBhZ2VfX2Zvcm0ge1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS0taG9tZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnM6MCk7XG4gICAgfVxuICAgICYtb3V0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYWdlX19zZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgLnNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fYmxvY2tzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDsgfVxuICAucGFnZV9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX3RpdGxlIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5leHBhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNTApO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDc1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRibGFjaywxKTAlLCByZ2JhKCRibGFjaywxKTI1JSwgcmdiYSgkYmxhY2ssMCkxMDAlKTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX21lZGlhIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICAgIC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWdlX192aWRlb3Mge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWltYWdlLW9ubHkge1xuICAgICAgLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgICAgICAuc2Vjb25kYXJ5LWltYWdlX19pbWFnZSBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNTAwKTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tdmlkZW8tb25seSB7XG4gICAgICAucGFnZV9fdmlkZW9zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fZmlsZXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXMge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSAxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxlZ2VuZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5idXR0b24geyBmbG9hdDogcmlnaHQ7IH1cbiAgfVxuICAuc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHktYmFja2dyb3VuZCw1JSk7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuICAuaGVscC1ibG9jayB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICBsYWJlbC5jb250cm9sLWxhYmVsIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIH1cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGxhYmVsOm5vdCguY29udHJvbC1sYWJlbCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0IDgpO1xuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAubGFiZWwtY291bnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgICAgaW5wdXQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICAgIGRpdjpub3QoLmhlbHAtYmxvY2spOm5vdCgjcHJpY2VfdHlwZSkge1xuICAgICAgYm9yZGVyLXRvcDogJGlucHV0LWJvcmRlcjtcbiAgICAgIGxhYmVsIHsgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgJiNjb2xvdXJzIHtcbiAgICAgICAgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWxbZm9yPWNvbG91cnMtd2hpdGVdOjphZnRlciB7IGJvcmRlcjogJGlucHV0LWJvcmRlcjsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VhcmNoX19wcmljZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLmZpZWxkLXByaWNlX3R5cGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAubGFiZWwtdmFsdWUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgMCk7XG4gICAgICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsYWJlbDpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICBpbnB1dDpjaGVja2VkICsgLmxhYmVsLXZhbHVlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOTk5OSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtcHJpY2VfbWluLFxuICAgIC5maWVsZC1wcmljZV9tb250aGx5X21pbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgLmZpZWxkLXByaWNlX21heCxcbiAgICAuZmllbGQtcHJpY2VfbW9udGhseV9tYXgge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbiAgLnNob3ctbW9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgJi0tZXh0ZW5kZWQge1xuICAgIC5zZWFyY2hfX2Zvcm0ge1xuICAgICAgYm9yZGVyOiAkZ2xvYmFsLWJvcmRlcjsgIFxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbi5wYWdlLS1ob21lIHtcbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC5zZWFyY2hfX2hlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2VhcmNoX19mb3JtIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlbHAtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgICBsYWJlbC5jb250cm9sLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIHNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7IGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgIH1cbiAgICAuZmllbGQtbWFrZV9zbHVnLFxuICAgIC5maWVsZC1tb2RlbF9zbHVnLFxuICAgIC5maWVsZC1zdWJtaXQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyA0KSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNlYXJjaF9fcHJpY2Uge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyA0KSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDQpKTtcbiAgICAgIH0gICBcbiAgICAgIC5maWVsZC1wcmljZV90eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5maWVsZC1wcmljZV9taW4sXG4gICAgICAuZmllbGQtcHJpY2VfbW9udGhseV9taW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDQpKTsgfVxuICAgICAgfVxuICAgICAgLmZpZWxkLXByaWNlX21heCxcbiAgICAgIC5maWVsZC1wcmljZV9tb250aGx5X21heCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyA0KSk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tZmluYW5jZSB7XG4gICAgICAuZmllbGQtbWFrZV9zbHVnLFxuICAgICAgLmZpZWxkLW1vZGVsX3NsdWcsXG4gICAgICAuZmllbGQtc3VibWl0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDMpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUgaW5wdXQ6Y2hlY2tlZCArIC5sYWJlbC12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cbi50b2dnbGVyIHtcbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlYXJjaF9faGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTsgfVxuICAgIH1cbiAgfVxufVxuLnNlbnNpLXNwaW5uZXItb3ZlcmxheSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpLCAwLjc1KTsgfVxuLnNrLXNwaW5uZXItdGhyZWUtYm91bmNlIGRpdiB7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4iLCIudGVjaG5pY2FsLWRhdGEge1xuICAmLS1mdWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gICYtLXByb21vdGVkIHtcbiAgICAmLW91dGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIFxuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuIFxuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cbiAgICB9XG4gIH1cbiAgJi0tc3VtbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gICYtLXRlYXNlciB7XG4gICAgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1mZWF0dXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgfVxuICB9XG4gICYtLWNvbXBhcmUge1xuICAgIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygxMik7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi52ZWhpY2xlLS1mZWF0dXJlZCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlcjogJGdsb2JhbC1ib3JkZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICByaWdodDogcmVtLWNhbGMoMjApO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAudmVoaWNsZV9fbWFrZSxcbiAgICAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudmVoaWNsZV9fZmluYW5jZSB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbiIsIi52ZWhpY2xlLS1mdWxsIHtcbiAgLnZlaGljbGVfX2JhY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgICAmLWlubmVyIHsgXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgICAgICBnYXA6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIDY7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIC52ZWhpY2xlX19wcm9tby10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICBsZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgIC52ZWhpY2xlX19zYXZlLWJ1dHRvbntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXI6ICRnbG9iYWwtYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pKTtcbiAgICAgIGdyaWQtY29sdW1uOiA2LzEzO1xuICAgIH1cbiAgICAudmVoaWNsZV9fZGV0YWlscy10b3Age1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzOjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pKTtcbiAgICB9XG4gICAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOjEyLCAkZ3V0dGVyczowKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczo2LCAkZ3V0dGVyczowKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIC52ZWhpY2xlX19tb2RlbC12YXJpYW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgICAudmVoaWNsZV9fcHJpY2UgeyBcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOjEyLCAkZ3V0dGVyczowKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6NiwgJGd1dHRlcnM6MCk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ2FwOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHdoaXRlLCAxMCUpOztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKyBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczoxMiwgJGd1dHRlcnM6MCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxhcmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgJiA+IHVsIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJyk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7IH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpIDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoM24pIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNob3cge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAxNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXI6ICRnbG9iYWwtYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmV4cGFuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyNSk7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoIzFlMWUxZSwxKTAlLCByZ2JhKCMxZTFlMWUsMSkyNSUsIHJnYmEoIzFlMWUxZSwwKTEwMCUpO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgICYtb3V0ZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0td2l0aC12aWRlbyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1jb3B5IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICAgICAgfVxuICAgICAgICAudmVoaWNsZV9fdmlkZW8ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlLFxuICAudmVoaWNsZV9fZmluYW5jZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgJi1pbm5lciB7IFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fZmluYW5jZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYtdGl0bGUge1xuICAgICAgQGV4dGVuZCBoMjtcbiAgICB9XG4gICAgJi1pbm5lciB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3RlbGVwaG9uZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIGgyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAmLWlubmVyIHsgXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTsgXG4gICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICAmLW91dGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICYtaW5uZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICBib3JkZXI6ICRnbG9iYWwtYm9yZGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZzogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uLFxuICAudmVoaWNsZV9fZXh0cmFzIHtcbiAgICAmID4gdWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgLnNwZWNpZmljYXRpb24sXG4gICAgICAgIC5leHRyYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi1idXR0b24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLmJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhIHtcbiAgICAmID4gdWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICdsaScpO1xuICAgICAgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICAgIH1cbiAgICAgICAgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSB7IEBleHRlbmQgaDQ7IH1cbiAgICAgICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICY6OmFmdGVyIHsgY29udGVudDogJzonOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB9XG4gICAgICAgICYgdWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3NlcnZpY2UtaGlzdG9yeS1icmVha2Rvd24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBjbGVhcjogYm90aDtcbiAgICB0YWJsZSB7IG1pbi13aWR0aDogcmVtLWNhbGMoNjQwKTsgfVxuICB9XG4gIC52ZWhpY2xlX19kb2N1bWVudHMsXG4gIC52ZWhpY2xlX19hdWRpbyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHktYmFja2dyb3VuZCw1JSk7XG4gICAgei1pbmRleDogMTA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG4gIC52ZWhpY2xlX19ib3R0b20taW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAudmVoaWNsZV9fYm90dG9tLXRlbGVwaG9uZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2JvdHRvbS1jdGEge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg5IDApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuICB9XG59XG4iLCIudmVoaWNsZS0tZnVsbCB7XG4gIC52ZWhpY2xlLS1zaW1pbGFyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlcjogJGdsb2JhbC1ib3JkZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgfVxuICAgIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC52ZWhpY2xlX19tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC52ZWhpY2xlX19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgICAudmVoaWNsZV9fdGl0bGUge1xuICAgICAgQGV4dGVuZCBoMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLnZlaGljbGVfX21ha2UsXG4gICAgICAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgICAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudmVoaWNsZV9fcHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiLnZlaGljbGUtLXRlYXNlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlcjogJGdsb2JhbC1ib3JkZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICByaWdodDogcmVtLWNhbGMoMjApO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsNSUpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAudmVoaWNsZV9fbWFrZSxcbiAgICAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudmVoaWNsZV9fZmluYW5jZSB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbiIsIi52ZWhpY2xlIHtcbiAgJl9fbWVkaWEtY291bnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAmID4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNiAyKTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcHJvbW8tdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0IDgpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgfVxuICB9XG59XG4iLCIubC1icmVhZGNydW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG59XG4iLCIubC1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG4gICZfX2ZpcnN0IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTsgXG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApOyBcbiAgICB9XG4gIH1cbiAgJl9fc2Vjb25kIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgfVxufVxuIiwiLmwtaGVhZGVyIHtcbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICZfX2ZpcnN0IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbiAgJl9fc2Vjb25kIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICB9XG59XG4ubm90LWZyb250IHtcbiAgLmwtaGVhZGVyIHtcbiAgICAmX19maXJzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmwtbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gJjo6YmVmb3JlIHtcbiAgLy8gICBjb250ZW50OiAnJztcbiAgLy8gICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgLy8gICB3aWR0aDogMTAwJTtcbiAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgdG9wOiAwO1xuICAvLyAgIGxlZnQ6IDA7XG4gIC8vICAgei1pbmRleDogMDtcbiAgLy8gICBoZWlnaHQ6IHJlbS1jYWxjKDUwMCk7XG4gIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLy8gICAgIGhlaWdodDogcmVtLWNhbGMoMjc1KTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgJi0tYXNpZGUsXG4gICYtLWFzaWRlLWRlc2t0b3AsXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICB9XG4gICYtLWFzaWRlIHtcbiAgICAubC1tYWluX19pbm5lciB7IEBpbmNsdWRlIGdyaWQtcm93KCk7IH1cbiAgICAubC1tYWluX19hc2lkZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigtOSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5sLW1haW5fX3NlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig5KTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWFzaWRlLWRlc2t0b3Age1xuICAgIC5sLW1haW5fX2lubmVyIHsgQGluY2x1ZGUgZ3JpZC1yb3coKTsgfVxuICAgIC5sLW1haW5fX2FzaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigtOSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOSk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1mdWxsLXdpZHRoIHtcbiAgICAubC1tYWluX19pbm5lciB7IEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpOyB9XG4gIH1cbn1cblxuLmFjdGlvbi1jb21wYXJlLFxuLmFjdGlvbi1lcnJvcixcbi5jb250cm9sbGVyLXNpdGVtYXAsXG4uY29udHJvbGxlci1zdGF0aWMtcGFnZSxcbi5jb250cm9sbGVyLWN1c3RvbS1lbnRyeSB7XG4gIC5sLW1haW4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7IH1cbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gIH1cbn0iLCIubC1uYXYge1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnM6MCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgfVxuICB9XG59XG4iLCIuZXh0cmFzLXByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJl9fdmFsdWUgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gICYtLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgLmV4dHJhcy1wcmljZV9fbGFiZWwgeyBmb250LXNpemU6IDY1JTsgfVxuICB9XG4gICYtLWZ1bGwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgIC5leHRyYXMtcHJpY2VfX25ldyxcbiAgICAuZXh0cmFzLXByaWNlX19leHRyYXMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5leHRyYXMtcHJpY2VfX2V4dHJhcyB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTsgfVxuICAgIC5leHRyYXMtcHJpY2VfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiA1NSU7XG4gICAgfVxuICAgIC5leHRyYXMtcHJpY2VfX2xpbmsge1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmV4dHJhcyB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICZfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gIH1cbiAgJl9fc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgICYtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgfSBcbiAgICAmLWFtb3VudCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAmLWV4dHJhcyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgJi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgICYtdmFsdWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgLnNsaWNrLXNsaWRlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gIH1cbiAgLnNsaWNrLXByZXYsXG4gIC5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB6LWluZGV4OiA5O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iYWNrZ3JvdW5kLDUlKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuICAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU1Y2InOyB9XG4gIH1cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJ1xcZTVjYyc7IH1cbiAgfVxuICAmLnNsaWNrLWRvdHRlZCB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0gcmVtLWNhbGMoNyk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA2KTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbiB7IGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgfVxuICB9XG59XG4ubGlzdGluZy0tYmxvY2ssXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCxcbi5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCxcbi5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIsXG4ubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhcixcbi5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIge1xuICAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLSByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtIHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogLSByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIH1cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQgeyB0b3A6IHJlbS1jYWxjKDYwKTsgfVxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMiArIDQxKSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICByaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIgKyA0MSkpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMsXG4ubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMsXG4udmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyxcbi52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgdWwuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLSByZW0tY2FsYygxKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gcmVtLWNhbGMoMSk7XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5zbGljay1wcmV2IHsgbGVmdDogcmVtLWNhbGMoMSk7IH1cbiAgICAuc2xpY2stbmV4dCB7IHJpZ2h0OiByZW0tY2FsYygxKTsgfVxuICB9XG59XG4ubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMsXG4udmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB7XG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJi5zbGljay1jdXJyZW50IHsgb3BhY2l0eTogMC43NTsgfVxuICB9XG59XG4ubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIHtcbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQxKTtcbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMpOyB9XG4gICAgfVxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHsgcmlnaHQ6IDA7IH1cbiAgfVxufVxuLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrLFxuLnBhZ2UtLWhvbWUgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjUpO1xuICB9XG4gIC5zbGljay1zbGlkZXIge1xuICAgIC5zbGljay10cmFjayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogLTY1cHg7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAtNjVweDtcbiAgICB9XG4gIH1cbn1cbi5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayB7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5NSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgfVxufVxuIiwiLndpemFyZCB7XG4gICYgPiAuc3RlcHMge1xuICAgICYgPiB1bCBsaSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIGEgeyBtYXJnaW4tcmlnaHQ6IDAgfVxuICAgIH1cbiAgICBhLFxuICAgIGE6aG92ZXIsXG4gICAgYTphY3RpdmUge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgOCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDE1KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbjogcmVtLWNhbGMoMCA4IDggMCk7IH1cbiAgICB9XG4gICAgLmN1cnJlbnQgYSxcbiAgICAuY3VycmVudCBhOmhvdmVyLFxuICAgIC5jdXJyZW50IGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmRvbmUgYSxcbiAgICAuZG9uZSBhOmhvdmVyLFxuICAgIC5kb25lIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAyMCUpO1xuICAgIH1cbiAgICAuZGlzYWJsZWQgYSxcbiAgICAuZGlzYWJsZWQgYTpob3ZlcixcbiAgICAuZGlzYWJsZWQgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgIH1cbiAgICAuZXJyb3IgYSxcbiAgICAuZXJyb3IgYTpob3ZlcixcbiAgICAuZXJyb3IgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5jb250ZW50ID4gLmJvZHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoOCAwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAmID4gLmFjdGlvbnMge1xuICAgIGEsXG4gICAgYTpob3ZlcixcbiAgICBhOmFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDE1KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG4gICAgLmRpc2FibGVkIGEsXG4gICAgLmRpc2FibGVkIGE6aG92ZXIsXG4gICAgLmRpc2FibGVkIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICB9XG4gICAgJiA+IHVsID4gbGkgeyBtYXJnaW46IHJlbS1jYWxjKDAgMCAwIDgpOyB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbi8vIFp1cmIgRm91bmRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8vIFRoZW1lIEhlbHBlciBQYXJ0aWFsc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvYmFzZS9fYmFzZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19jb29raWUtcG9saWN5LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX2ljb24uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX2xvZ28uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3RlbXBvcmFyeS1zbG9nYW4uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3RvZ2dsZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYmxvY2svX2Jsb2NrLS1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYnJhbmNoL19icmFuY2gtLWZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9icmFuY2gvX2JyYW5jaC0tZnVsbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9icmFuY2gvX2JyYW5jaC0tdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2JyYW5jaC9fYnJhbmNoLS12ZWhpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2N1c3RvbS1lbnRyeS9fY3VzdG9tLWVudHJ5LS1mZWF0dXJlZC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9kZXBhcnRtZW50L19kZXBhcnRtZW50LS10ZWFzZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZGVwYXJ0bWVudC9fZGVwYXJ0bWVudC0tdmVoaWNsZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLS1kZWxpdmVyeS1jYWxlbmRhci5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLS1kaXJlY3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLS1zZXJ2aWNlLWJvb2tpbmcuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tdXBsb2FkLWVucXVpcnkuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tdmVoaWNsZS1wYXltZW50LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXZlaGljbGUtc29ydC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL19uby1pbWFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9tZWRpYS9fcHJpbWFyeS1pbWFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9tZWRpYS9fc2Vjb25kYXJ5LWltYWdlLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL192aWRlby5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9uZXctdmVoaWNsZS9fbmV3LXZlaGljbGUtLWZ1bGwuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbmV3LXZlaGljbGUvX25ldy12ZWhpY2xlLS10ZWFzZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbmV3LXZlaGljbGUvX25ldy12ZWhpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tZmVhdHVyZWQuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb2ZmZXIvX29mZmVyLS1mdWxsLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19hZGQtb24uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX2NhbGVuZGFyLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19jb2xsZWN0aW9uLWRlbGl2ZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci1pbnRyb2R1Y3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXBheW1lbnQuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXByb2dyZXNzLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci1zdW1tYXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9vcmRlci9fcGFydC1leGNoYW5nZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wYWdlL19wYWdlLS10ZWFzZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFydC9fcGFydC0tZmVhdHVyZWQuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFydC9fcGFydC0tZnVsbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wYXJ0L19wYXJ0LS10ZWFzZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcG9zdC9fbWV0YS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wb3N0L19wb3N0LS1kZWZhdWx0LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Bvc3QvX3Bvc3QtLWZlYXR1cmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Bvc3QvX3Bvc3QtLWZ1bGwtd2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcG9zdC9fcG9zdC0tdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3NlYXJjaC9fcXVpY2stc2VhcmNoLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3NlYXJjaC9fc2VhcmNoLXNlbGVjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zaG93cm9vbS9fc2hvd3Jvb20tLWZlYXR1cmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Nob3dyb29tL19zaG93cm9vbS0tZnVsbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zaG93cm9vbS9fc2hvd3Jvb20tLXRlYXNlci5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL19wcmljZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL19zcGVjaWZpY2F0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLWNvbXBhcmUuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZ2VuZXJhbC5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvY21zL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1sYXRlc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tcmVjZW50bHktdmlld2VkLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9sYXlvdXQvX2FsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9sYXlvdXQvX2JyZWFkY3J1bWJzLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2NyZWRpdC1jYWxjdWxhdG9yLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2ZhbmN5Ym94LnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9jbXMvdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2ZpbmFuY2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2Ntcy90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL3ZlbmRvci9fcmV2aWV3LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19hY2NvcmRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19idXR0b24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NyZWRpdHMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Rpc2NsYWltZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ljb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2xpc3Rpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX21lbnUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYnMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3doYXRzYXBwLWljb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLS1kZWZhdWx0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay0tb2N0YW5lLWZpbmFuY2UtYmFubmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay0tc2lkZWJhci5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXN0b20tZW50cnkvX2N1c3RvbS1lbnRyeS0tZnVsbC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXN0b20tZW50cnkvX2N1c3RvbS1lbnRyeS0tdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXBhcnQtZXhjaGFuZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybS9fZm9ybS0tc2VsbC15b3VyLXZlaGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvb3JkZXIvX29yZGVyLXN0YXRlLXN1bW1hcnkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnZS9fcGFnZS0tY29udGFjdC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlL19wYWdlLS1kZWZhdWx0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2UvX3BhZ2UtLWZ1bGwtd2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnZS9fcGFnZS0taG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWFyY2gvX3NlYXJjaC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92ZWhpY2xlL190ZWNobmljYWwtZGF0YS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1mZWF0dXJlZC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1mdWxsLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLXNpbWlsYXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fYnJlYWRjcnVtYnMuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCJsYXlvdXQvX25hdi5zY3NzXCI7XG5AaW1wb3J0IFwidmVuZG9yL19leHRyYXMuc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvci9fc2xpY2stc2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvX3dpemFyZC5zY3NzXCI7XG5cbi8vIFNpdGUgU3BlY2lmaWNcbi8vIC0tLS0tLS0tLS0tLS1cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiB7XG4gICAgLmNhcmQsXG4gICAgbGFiZWwgeyBjb2xvcjogJGJsYWNrOyB9XG59XG4gICJdfQ== */
