﻿@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:700");
/**
 * 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 {
  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&phablet=30em&medium=48em&large=64em&xlarge=75em&xxlarge=90em&xxxlarge=120em"; }

html {
  box-sizing: border-box;
  font-size: 16px; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #252525;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 80rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 30em) {
      .row .row {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 90em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: initial; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

.small-1 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

@media print, screen and (min-width: 30em) {
  .phablet-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .phablet-offset-0 {
    margin-left: 0%; }
  .phablet-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .phablet-offset-1 {
    margin-left: 8.33333%; }
  .phablet-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .phablet-offset-2 {
    margin-left: 16.66667%; }
  .phablet-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .phablet-offset-3 {
    margin-left: 25%; }
  .phablet-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .phablet-offset-4 {
    margin-left: 33.33333%; }
  .phablet-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .phablet-offset-5 {
    margin-left: 41.66667%; }
  .phablet-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .phablet-offset-6 {
    margin-left: 50%; }
  .phablet-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .phablet-offset-7 {
    margin-left: 58.33333%; }
  .phablet-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .phablet-offset-8 {
    margin-left: 66.66667%; }
  .phablet-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .phablet-offset-9 {
    margin-left: 75%; }
  .phablet-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .phablet-offset-10 {
    margin-left: 83.33333%; }
  .phablet-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .phablet-offset-11 {
    margin-left: 91.66667%; }
  .phablet-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .phablet-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .phablet-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .phablet-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .phablet-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .phablet-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .phablet-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-1 > .column, .phablet-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .phablet-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-2 > .column, .phablet-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .phablet-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-3 > .column, .phablet-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .phablet-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-4 > .column, .phablet-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .phablet-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-5 > .column, .phablet-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .phablet-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-6 > .column, .phablet-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .phablet-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-7 > .column, .phablet-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .phablet-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .phablet-up-8 > .column, .phablet-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 30em) and (min-width: 30em) {
  .phablet-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .phablet-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .phablet-expand,
  .phablet-shrink {
    max-width: none; } }

@media print, screen and (min-width: 30em) {
  .phablet-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .phablet-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .phablet-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .phablet-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .phablet-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .phablet-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .phablet-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.phablet-unstack > .column, .row.phablet-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 30em) {
    .row.phablet-unstack > .column, .row.phablet-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 30em) {
  .phablet-collapse > .column, .phablet-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .phablet-uncollapse > .column, .phablet-uncollapse > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; } }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .medium-expand,
  .medium-shrink {
    max-width: none; } }

@media print, screen and (min-width: 48em) {
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 48em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .large-expand,
  .large-shrink {
    max-width: none; } }

@media print, screen and (min-width: 64em) {
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .xlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .xlarge-expand,
  .xlarge-shrink {
    max-width: none; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .xxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .xxlarge-expand,
  .xxlarge-shrink {
    max-width: none; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: 700;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 3.125rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 2.375rem;
  line-height: 1.15789;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.75rem;
  line-height: 1.07143;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4 {
  font-size: 1.375rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5 {
  font-size: 1.125rem;
  line-height: 1.33333;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6 {
  font-size: 0.75rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) {
  h1 {
    font-size: 3.75rem;
    line-height: 1.06667; }
  h2 {
    font-size: 2.75rem;
    line-height: 1.04545; }
  h3 {
    font-size: 1.875rem;
    line-height: 1.06667; }
  h4 {
    font-size: 1.5rem;
    line-height: 1; }
  h5 {
    font-size: 1.125rem;
    line-height: 1.33333; }
  h6 {
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  h1 {
    font-size: 4.375rem;
    line-height: 1; }
  h2 {
    font-size: 3.125rem;
    line-height: 0.96; }
  h3 {
    font-size: 2rem;
    line-height: 1.09375; }
  h4 {
    font-size: 1.625rem;
    line-height: 1; }
  h5 {
    font-size: 1.25rem;
    line-height: 1.2; }
  h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #d9541e;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #bb481a; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 80rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 0;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 0;
  list-style-type: none; }

ol {
  margin-left: 0; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 0;
  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 #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr {
  border-bottom: 1px dotted #252525;
  color: #252525;
  cursor: help; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #8f8f8f;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #252525; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #8f8f8f;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #252525; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 400;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 20px;
  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: 30em) {
  .phablet-text-left {
    text-align: left; }
  .phablet-text-right {
    text-align: right; }
  .phablet-text-center {
    text-align: center; }
  .phablet-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 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; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-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 #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background 0.5s, color 0.5s;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #d9541e;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #c23c33;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #252525; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #252525; }
  .button.warning {
    background-color: #ffae00;
    color: #252525; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #252525; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .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: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .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: #252525; }
    .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: #252525; }
    .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: #fefefe; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #d9541e; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

[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.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(37, 37, 37, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  color: #252525;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    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: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #8f8f8f;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

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: #252525; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #252525; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 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 #cacaca;
  background: #8f8f8f;
  color: #252525;
  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.5rem; }

.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.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.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 #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem;
    background: #fefefe; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #252525;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  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/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #8f8f8f;
    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: #f9ecea; }
  .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: #fefefe;
  list-style-type: none; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #8f8f8f;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #8f8f8f;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #8f8f8f; }
  .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: 1px solid #8f8f8f;
  border-bottom: 0;
  background-color: #fefefe;
  color: #252525; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #8f8f8f; }

.is-accordion-submenu-parent > a {
  position: relative; }
  .is-accordion-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #252525; }
  .badge.warning {
    background: #ffae00;
    color: #252525; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.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: #252525;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      top: 1px;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 1rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #252525; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #252525; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #252525; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #252525; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 29.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(37, 37, 37, 0.25);
  border-radius: 0;
  background-color: white;
  color: #252525; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #252525; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #252525; }
  .callout.success {
    background-color: #e1faea;
    color: #252525; }
  .callout.warning {
    background-color: #fff3d9;
    color: #252525; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #252525; }
  .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 #8f8f8f;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #252525; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #8f8f8f; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #252525; }
  .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; }


.css-columns-0-xxlarge,
.css-columns-1-xxlarge {
  -webkit-column-gap: normal;
          column-gap: normal;
  -webkit-column-count: auto;
          column-count: auto; }


.css-columns-2 {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 2;
          column-count: 2; }
  
  .css-columns-2 > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }


.css-columns-3 {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 3;
          column-count: 3; }
  
  .css-columns-3 > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }


.css-columns-4 {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 4;
          column-count: 4; }
  
  .css-columns-4 > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }


.css-columns-5 {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 5;
          column-count: 5; }
  
  .css-columns-5 > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }


.css-columns-6 {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 6;
          column-count: 6; }
  
  .css-columns-6 > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

.css-columns-0-small,
.css-columns-1-small {
  -webkit-column-gap: normal;
          column-gap: normal;
  -webkit-column-count: auto;
          column-count: auto; }

.css-columns-2-small {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 2;
          column-count: 2; }
  .css-columns-2-small > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

.css-columns-3-small {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 3;
          column-count: 3; }
  .css-columns-3-small > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

.css-columns-4-small {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 4;
          column-count: 4; }
  .css-columns-4-small > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

.css-columns-5-small {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 5;
          column-count: 5; }
  .css-columns-5-small > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

.css-columns-6-small {
  -webkit-column-gap: 2rem;
          column-gap: 2rem;
  -webkit-column-count: 6;
          column-count: 6; }
  .css-columns-6-small > * {
    -webkit-column-break-inside: avoid;
            break-inside: avoid; }

@media print, screen and (min-width: 30em) {
  .css-columns-0-phablet,
  .css-columns-1-phablet {
    -webkit-column-gap: normal;
            column-gap: normal;
    -webkit-column-count: auto;
            column-count: auto; }
  .css-columns-2-phablet {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 2;
            column-count: 2; }
    .css-columns-2-phablet > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-3-phablet {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 3;
            column-count: 3; }
    .css-columns-3-phablet > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-4-phablet {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 4;
            column-count: 4; }
    .css-columns-4-phablet > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-5-phablet {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 5;
            column-count: 5; }
    .css-columns-5-phablet > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-6-phablet {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 6;
            column-count: 6; }
    .css-columns-6-phablet > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; } }

@media print, screen and (min-width: 48em) {
  .css-columns-0-medium,
  .css-columns-1-medium {
    -webkit-column-gap: normal;
            column-gap: normal;
    -webkit-column-count: auto;
            column-count: auto; }
  .css-columns-2-medium {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 2;
            column-count: 2; }
    .css-columns-2-medium > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-3-medium {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 3;
            column-count: 3; }
    .css-columns-3-medium > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-4-medium {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 4;
            column-count: 4; }
    .css-columns-4-medium > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-5-medium {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 5;
            column-count: 5; }
    .css-columns-5-medium > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-6-medium {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 6;
            column-count: 6; }
    .css-columns-6-medium > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; } }

@media print, screen and (min-width: 64em) {
  .css-columns-0-large,
  .css-columns-1-large {
    -webkit-column-gap: normal;
            column-gap: normal;
    -webkit-column-count: auto;
            column-count: auto; }
  .css-columns-2-large {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 2;
            column-count: 2; }
    .css-columns-2-large > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-3-large {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 3;
            column-count: 3; }
    .css-columns-3-large > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-4-large {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 4;
            column-count: 4; }
    .css-columns-4-large > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-5-large {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 5;
            column-count: 5; }
    .css-columns-5-large > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-6-large {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 6;
            column-count: 6; }
    .css-columns-6-large > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; } }

@media screen and (min-width: 75em) {
  .css-columns-0-xlarge,
  .css-columns-1-xlarge {
    -webkit-column-gap: normal;
            column-gap: normal;
    -webkit-column-count: auto;
            column-count: auto; }
  .css-columns-2-xlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 2;
            column-count: 2; }
    .css-columns-2-xlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-3-xlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 3;
            column-count: 3; }
    .css-columns-3-xlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-4-xlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 4;
            column-count: 4; }
    .css-columns-4-xlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-5-xlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 5;
            column-count: 5; }
    .css-columns-5-xlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-6-xlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 6;
            column-count: 6; }
    .css-columns-6-xlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; } }

@media screen and (min-width: 90em) {
  .css-columns-0-xxlarge,
  .css-columns-1-xxlarge {
    -webkit-column-gap: normal;
            column-gap: normal;
    -webkit-column-count: auto;
            column-count: auto; }
  .css-columns-2-xxlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 2;
            column-count: 2; }
    .css-columns-2-xxlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-3-xxlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 3;
            column-count: 3; }
    .css-columns-3-xxlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-4-xxlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 4;
            column-count: 4; }
    .css-columns-4-xxlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-5-xxlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 5;
            column-count: 5; }
    .css-columns-5-xxlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; }
  .css-columns-6-xxlarge {
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-count: 6;
            column-count: 6; }
    .css-columns-6-xxlarge > * {
      -webkit-column-break-inside: avoid;
              break-inside: avoid; } }

.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: #fefefe;
  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 #1779ba;
    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 #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.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: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #252525; }
  .label.warning {
    background: #ffae00;
    color: #252525; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 29.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; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 1;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #8f8f8f; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-overlap {
    z-index: 10; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(37, 37, 37, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 1;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #8f8f8f; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 10; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(37, 37, 37, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px);
  overflow-y: auto; }
  .position-left.is-open ~ .off-canvas-content {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push::after {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(37, 37, 37, 0.7);
    content: " "; }
  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px);
  overflow-y: auto; }
  .position-right.is-open ~ .off-canvas-content {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(37, 37, 37, 0.7);
    content: " "; }
  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px);
  overflow-x: auto; }
  .position-top.is-open ~ .off-canvas-content {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push::after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(37, 37, 37, 0.7);
    content: " "; }
  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px);
  overflow-x: auto; }
  .position-bottom.is-open ~ .off-canvas-content {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(37, 37, 37, 0.7);
    content: " "; }
  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.off-canvas-content {
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

@media print, screen and (min-width: 30em) {
  .position-left.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-phablet ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-phablet ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-phablet ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-phablet ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(37, 37, 37, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(37, 37, 37, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.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: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #252525; }
    .pagination a:hover,
    .pagination button:hover {
      background: #8f8f8f; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #252525; }

.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'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #8f8f8f;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-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(37, 37, 37, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  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: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 80rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal .reveal {
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 80rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 80rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 80rem; } }
  .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: 29.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; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  thead {
    background: #f8f8f8;
    color: #252525; }
  tfoot {
    background: #f1f1f1;
    color: #252525; }
  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: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@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: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    min-width: 100%;
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #8f8f8f;
  background: #fefefe;
  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: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #8f8f8f;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #8f8f8f;
  border-top: 0;
  background: #fefefe;
  color: #252525;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #8f8f8f;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(37, 37, 37, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #252525;
  color: #fefefe; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: 700;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #252525;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #252525;
    position: absolute;
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #252525 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #252525;
    top: 50%;
    bottom: auto;
    left: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #252525 transparent transparent;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #fefefe; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 47.9375em) {
    .top-bar.stacked-for-phablet .top-bar-left,
    .top-bar.stacked-for-phablet .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 119.9375em) {
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.header-feature__title, .rtf-container .rtf h6 + * {
  margin-top: 0rem; }

.vertical-margin-0 {
  margin-top: 0rem !important; }

.vertical-padding-0 {
  padding-top: 0rem !important; }

.vertical-margin-half {
  margin-top: 0.5rem !important; }

.vertical-padding-half {
  padding-top: 0.5rem !important; }

.rtf-container .rtf > * {
  margin-top: 1rem; }

.vertical-margin-1 {
  margin-top: 1rem !important; }

.vertical-padding-1 {
  padding-top: 1rem !important; }

.feature-video .player, .rtf-container .table__caption + * {
  margin-top: 2rem; }

.vertical-margin-2 {
  margin-top: 2rem !important; }

.vertical-padding-2 {
  padding-top: 2rem !important; }

.vertical-margin-3 {
  margin-top: 3rem !important; }

.vertical-padding-3 {
  padding-top: 3rem !important; }

.vertical-margin-4 {
  margin-top: 4rem !important; }

.vertical-padding-4 {
  padding-top: 4rem !important; }

.vertical-margin-5 {
  margin-top: 5rem !important; }

.vertical-padding-5 {
  padding-top: 5rem !important; }

.vertical-margin-6 {
  margin-top: 6rem !important; }

.vertical-padding-6 {
  padding-top: 6rem !important; }

.vertical-margin-7 {
  margin-top: 7rem !important; }

.vertical-padding-7 {
  padding-top: 7rem !important; }

.vertical-margin-8 {
  margin-top: 8rem !important; }

.vertical-padding-8 {
  padding-top: 8rem !important; }

.vertical-margin-9 {
  margin-top: 9rem !important; }

.vertical-padding-9 {
  padding-top: 9rem !important; }

.vertical-margin-10 {
  margin-top: 10rem !important; }

.vertical-padding-10 {
  padding-top: 10rem !important; }

.vertical-margin-11 {
  margin-top: 11rem !important; }

.vertical-padding-11 {
  padding-top: 11rem !important; }

.vertical-margin-12 {
  margin-top: 12rem !important; }

.vertical-padding-12 {
  padding-top: 12rem !important; }

.vertical-margin-0-small {
  margin-top: 0rem !important; }

.vertical-padding-0-small {
  padding-top: 0rem !important; }

.vertical-margin-half-1-small {
  margin-top: 0.5rem !important; }

.vertical-padding-half-1-small {
  padding-top: 0.5rem !important; }

.vertical-margin-1-small {
  margin-top: 1rem !important; }

.vertical-padding-1-small {
  padding-top: 1rem !important; }

.vertical-margin-2-small {
  margin-top: 2rem !important; }

.vertical-padding-2-small {
  padding-top: 2rem !important; }

.vertical-margin-3-small {
  margin-top: 3rem !important; }

.vertical-padding-3-small {
  padding-top: 3rem !important; }

.vertical-margin-4-small {
  margin-top: 4rem !important; }

.vertical-padding-4-small {
  padding-top: 4rem !important; }

.vertical-margin-5-small {
  margin-top: 5rem !important; }

.vertical-padding-5-small {
  padding-top: 5rem !important; }

.vertical-margin-6-small {
  margin-top: 6rem !important; }

.vertical-padding-6-small {
  padding-top: 6rem !important; }

.vertical-margin-7-small {
  margin-top: 7rem !important; }

.vertical-padding-7-small {
  padding-top: 7rem !important; }

.vertical-margin-8-small {
  margin-top: 8rem !important; }

.vertical-padding-8-small {
  padding-top: 8rem !important; }

.vertical-margin-9-small {
  margin-top: 9rem !important; }

.vertical-padding-9-small {
  padding-top: 9rem !important; }

.vertical-margin-10-small {
  margin-top: 10rem !important; }

.vertical-padding-10-small {
  padding-top: 10rem !important; }

.vertical-margin-11-small {
  margin-top: 11rem !important; }

.vertical-padding-11-small {
  padding-top: 11rem !important; }

.vertical-margin-12-small {
  margin-top: 12rem !important; }

.vertical-padding-12-small {
  padding-top: 12rem !important; }

@media print, screen and (min-width: 30em) {
  .vertical-margin-0-phablet {
    margin-top: 0rem !important; }
  .vertical-padding-0-phablet {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-phablet {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-phablet {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-phablet {
    margin-top: 1rem !important; }
  .vertical-padding-1-phablet {
    padding-top: 1rem !important; }
  .vertical-margin-2-phablet {
    margin-top: 2rem !important; }
  .vertical-padding-2-phablet {
    padding-top: 2rem !important; }
  .vertical-margin-3-phablet {
    margin-top: 3rem !important; }
  .vertical-padding-3-phablet {
    padding-top: 3rem !important; }
  .vertical-margin-4-phablet {
    margin-top: 4rem !important; }
  .vertical-padding-4-phablet {
    padding-top: 4rem !important; }
  .vertical-margin-5-phablet {
    margin-top: 5rem !important; }
  .vertical-padding-5-phablet {
    padding-top: 5rem !important; }
  .vertical-margin-6-phablet {
    margin-top: 6rem !important; }
  .vertical-padding-6-phablet {
    padding-top: 6rem !important; }
  .vertical-margin-7-phablet {
    margin-top: 7rem !important; }
  .vertical-padding-7-phablet {
    padding-top: 7rem !important; }
  .vertical-margin-8-phablet {
    margin-top: 8rem !important; }
  .vertical-padding-8-phablet {
    padding-top: 8rem !important; }
  .vertical-margin-9-phablet {
    margin-top: 9rem !important; }
  .vertical-padding-9-phablet {
    padding-top: 9rem !important; }
  .vertical-margin-10-phablet {
    margin-top: 10rem !important; }
  .vertical-padding-10-phablet {
    padding-top: 10rem !important; }
  .vertical-margin-11-phablet {
    margin-top: 11rem !important; }
  .vertical-padding-11-phablet {
    padding-top: 11rem !important; }
  .vertical-margin-12-phablet {
    margin-top: 12rem !important; }
  .vertical-padding-12-phablet {
    padding-top: 12rem !important; } }

@media print, screen and (min-width: 48em) {
  .vertical-margin-0-medium {
    margin-top: 0rem !important; }
  .vertical-padding-0-medium {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-medium {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-medium {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-medium {
    margin-top: 1rem !important; }
  .vertical-padding-1-medium {
    padding-top: 1rem !important; }
  .vertical-margin-2-medium {
    margin-top: 2rem !important; }
  .vertical-padding-2-medium {
    padding-top: 2rem !important; }
  .vertical-margin-3-medium {
    margin-top: 3rem !important; }
  .vertical-padding-3-medium {
    padding-top: 3rem !important; }
  .vertical-margin-4-medium {
    margin-top: 4rem !important; }
  .vertical-padding-4-medium {
    padding-top: 4rem !important; }
  .vertical-margin-5-medium {
    margin-top: 5rem !important; }
  .vertical-padding-5-medium {
    padding-top: 5rem !important; }
  .vertical-margin-6-medium {
    margin-top: 6rem !important; }
  .vertical-padding-6-medium {
    padding-top: 6rem !important; }
  .vertical-margin-7-medium {
    margin-top: 7rem !important; }
  .vertical-padding-7-medium {
    padding-top: 7rem !important; }
  .vertical-margin-8-medium {
    margin-top: 8rem !important; }
  .vertical-padding-8-medium {
    padding-top: 8rem !important; }
  .vertical-margin-9-medium {
    margin-top: 9rem !important; }
  .vertical-padding-9-medium {
    padding-top: 9rem !important; }
  .vertical-margin-10-medium {
    margin-top: 10rem !important; }
  .vertical-padding-10-medium {
    padding-top: 10rem !important; }
  .vertical-margin-11-medium {
    margin-top: 11rem !important; }
  .vertical-padding-11-medium {
    padding-top: 11rem !important; }
  .vertical-margin-12-medium {
    margin-top: 12rem !important; }
  .vertical-padding-12-medium {
    padding-top: 12rem !important; } }

@media print, screen and (min-width: 64em) {
  .vertical-margin-0-large {
    margin-top: 0rem !important; }
  .vertical-padding-0-large {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-large {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-large {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-large {
    margin-top: 1rem !important; }
  .vertical-padding-1-large {
    padding-top: 1rem !important; }
  .vertical-margin-2-large {
    margin-top: 2rem !important; }
  .vertical-padding-2-large {
    padding-top: 2rem !important; }
  .vertical-margin-3-large {
    margin-top: 3rem !important; }
  .vertical-padding-3-large {
    padding-top: 3rem !important; }
  .vertical-margin-4-large {
    margin-top: 4rem !important; }
  .vertical-padding-4-large {
    padding-top: 4rem !important; }
  .vertical-margin-5-large {
    margin-top: 5rem !important; }
  .vertical-padding-5-large {
    padding-top: 5rem !important; }
  .vertical-margin-6-large {
    margin-top: 6rem !important; }
  .vertical-padding-6-large {
    padding-top: 6rem !important; }
  .vertical-margin-7-large {
    margin-top: 7rem !important; }
  .vertical-padding-7-large {
    padding-top: 7rem !important; }
  .vertical-margin-8-large {
    margin-top: 8rem !important; }
  .vertical-padding-8-large {
    padding-top: 8rem !important; }
  .vertical-margin-9-large {
    margin-top: 9rem !important; }
  .vertical-padding-9-large {
    padding-top: 9rem !important; }
  .vertical-margin-10-large {
    margin-top: 10rem !important; }
  .vertical-padding-10-large {
    padding-top: 10rem !important; }
  .vertical-margin-11-large {
    margin-top: 11rem !important; }
  .vertical-padding-11-large {
    padding-top: 11rem !important; }
  .vertical-margin-12-large {
    margin-top: 12rem !important; }
  .vertical-padding-12-large {
    padding-top: 12rem !important; } }

@media screen and (min-width: 75em) {
  .vertical-margin-0-xlarge {
    margin-top: 0rem !important; }
  .vertical-padding-0-xlarge {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-xlarge {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-xlarge {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-xlarge {
    margin-top: 1rem !important; }
  .vertical-padding-1-xlarge {
    padding-top: 1rem !important; }
  .vertical-margin-2-xlarge {
    margin-top: 2rem !important; }
  .vertical-padding-2-xlarge {
    padding-top: 2rem !important; }
  .vertical-margin-3-xlarge {
    margin-top: 3rem !important; }
  .vertical-padding-3-xlarge {
    padding-top: 3rem !important; }
  .vertical-margin-4-xlarge {
    margin-top: 4rem !important; }
  .vertical-padding-4-xlarge {
    padding-top: 4rem !important; }
  .vertical-margin-5-xlarge {
    margin-top: 5rem !important; }
  .vertical-padding-5-xlarge {
    padding-top: 5rem !important; }
  .vertical-margin-6-xlarge {
    margin-top: 6rem !important; }
  .vertical-padding-6-xlarge {
    padding-top: 6rem !important; }
  .vertical-margin-7-xlarge {
    margin-top: 7rem !important; }
  .vertical-padding-7-xlarge {
    padding-top: 7rem !important; }
  .vertical-margin-8-xlarge {
    margin-top: 8rem !important; }
  .vertical-padding-8-xlarge {
    padding-top: 8rem !important; }
  .vertical-margin-9-xlarge {
    margin-top: 9rem !important; }
  .vertical-padding-9-xlarge {
    padding-top: 9rem !important; }
  .vertical-margin-10-xlarge {
    margin-top: 10rem !important; }
  .vertical-padding-10-xlarge {
    padding-top: 10rem !important; }
  .vertical-margin-11-xlarge {
    margin-top: 11rem !important; }
  .vertical-padding-11-xlarge {
    padding-top: 11rem !important; }
  .vertical-margin-12-xlarge {
    margin-top: 12rem !important; }
  .vertical-padding-12-xlarge {
    padding-top: 12rem !important; } }

@media screen and (min-width: 90em) {
  .vertical-margin-0-xxlarge {
    margin-top: 0rem !important; }
  .vertical-padding-0-xxlarge {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-xxlarge {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-xxlarge {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-xxlarge {
    margin-top: 1rem !important; }
  .vertical-padding-1-xxlarge {
    padding-top: 1rem !important; }
  .vertical-margin-2-xxlarge {
    margin-top: 2rem !important; }
  .vertical-padding-2-xxlarge {
    padding-top: 2rem !important; }
  .vertical-margin-3-xxlarge {
    margin-top: 3rem !important; }
  .vertical-padding-3-xxlarge {
    padding-top: 3rem !important; }
  .vertical-margin-4-xxlarge {
    margin-top: 4rem !important; }
  .vertical-padding-4-xxlarge {
    padding-top: 4rem !important; }
  .vertical-margin-5-xxlarge {
    margin-top: 5rem !important; }
  .vertical-padding-5-xxlarge {
    padding-top: 5rem !important; }
  .vertical-margin-6-xxlarge {
    margin-top: 6rem !important; }
  .vertical-padding-6-xxlarge {
    padding-top: 6rem !important; }
  .vertical-margin-7-xxlarge {
    margin-top: 7rem !important; }
  .vertical-padding-7-xxlarge {
    padding-top: 7rem !important; }
  .vertical-margin-8-xxlarge {
    margin-top: 8rem !important; }
  .vertical-padding-8-xxlarge {
    padding-top: 8rem !important; }
  .vertical-margin-9-xxlarge {
    margin-top: 9rem !important; }
  .vertical-padding-9-xxlarge {
    padding-top: 9rem !important; }
  .vertical-margin-10-xxlarge {
    margin-top: 10rem !important; }
  .vertical-padding-10-xxlarge {
    padding-top: 10rem !important; }
  .vertical-margin-11-xxlarge {
    margin-top: 11rem !important; }
  .vertical-padding-11-xxlarge {
    padding-top: 11rem !important; }
  .vertical-margin-12-xxlarge {
    margin-top: 12rem !important; }
  .vertical-padding-12-xxlarge {
    padding-top: 12rem !important; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 29.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 30em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 30em) {
  .hide-for-phablet {
    display: none !important; } }

@media screen and (max-width: 29.9375em) {
  .show-for-phablet {
    display: none !important; } }

@media screen and (min-width: 30em) and (max-width: 47.9375em) {
  .hide-for-phablet-only {
    display: none !important; } }

@media screen and (max-width: 29.9375em), screen and (min-width: 48em) {
  .show-for-phablet-only {
    display: none !important; } }

@media print, screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.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; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 119.9375em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 120em) {
  .show-for-xxlarge-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; }

.float-right {
  float: right; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 30em) {
  .phablet-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .phablet-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .phablet-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .phablet-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .phablet-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .phablet-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.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; }

.gray {
  color: #666; }

.black {
  color: #252525; }

.white {
  color: #fefefe; }

.light-gray {
  color: #8f8f8f; }

.orange,
.orange-dark {
  color: #d9541e; }

.green-teal {
  color: #15a089; }

.blue-twitter {
  color: #2b9fce; }

.teal {
  color: #15a089; }

.blue-light {
  color: #2b9fce; }

.blue-navy {
  color: #003764; }

.magenta-dark {
  color: #84126a; }

.red-mid {
  color: #a00f36; }

.conf-orange {
  color: #f8981d; }


.h1 {
  font-size: 3.125rem;
  line-height: 1; }


.h2 {
  font-size: 2.375rem;
  line-height: 1.15789; }


.h3 {
  font-size: 1.75rem;
  line-height: 1.07143; }


.h4 {
  font-size: 1.375rem;
  line-height: 1; }


.h5 {
  font-size: 1.125rem;
  line-height: 1.33333; }


.h6 {
  font-size: 0.75rem;
  line-height: 1.4; }

@media print, screen and (min-width: 48em) {
  
  .h1 {
    font-size: 3.75rem;
    line-height: 1.06667; } }

@media print, screen and (min-width: 48em) {
  
  .h2 {
    font-size: 2.75rem;
    line-height: 1.04545; } }

@media print, screen and (min-width: 48em) {
  
  .h3 {
    font-size: 1.875rem;
    line-height: 1.06667; } }

@media print, screen and (min-width: 48em) {
  
  .h4 {
    font-size: 1.5rem;
    line-height: 1; } }

@media print, screen and (min-width: 48em) {
  
  .h5 {
    font-size: 1.125rem;
    line-height: 1.33333; } }

@media print, screen and (min-width: 48em) {
  
  .h6 {
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  
  .h1 {
    font-size: 4.375rem;
    line-height: 1; } }

@media print, screen and (min-width: 64em) {
  
  .h2 {
    font-size: 3.125rem;
    line-height: 0.96; } }

@media print, screen and (min-width: 64em) {
  
  .h3 {
    font-size: 2rem;
    line-height: 1.09375; } }

@media print, screen and (min-width: 64em) {
  
  .h4 {
    font-size: 1.625rem;
    line-height: 1; } }

@media print, screen and (min-width: 64em) {
  
  .h5 {
    font-size: 1.25rem;
    line-height: 1.2; } }

@media print, screen and (min-width: 64em) {
  
  .h6 {
    font-size: 1rem; } }

.header-feature__title, .header-search__form .field.field--text, .bulletin .rtf-container .rtf p,
.event__item .rtf-container .rtf p,
.franklin-gothic {
  font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }


.franklin-gothic-cond {
  font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif; }


.arno-pro {
  font-family: "arno-pro", "Baskerville", serif; }


.amatic {
  font-family: "Amatic SC", cursive; }

h2,
h3,
h4,
h5,
h6,
p {
  margin: 0; }

p {
  font-size: 1rem;
  line-height: 1.4; }

a {
  color: inherit;
  transition: .3s ease;
  transition-property: color, background-color, border-color, opacity; }

.text-normal {
  font-size: 16px; }

.text-small {
  font-size: 0.75rem; }

.weight-bold {
  font-weight: 700; }

.weight-semibold {
  font-weight: 600; }

.weight-medium {
  font-weight: 500; }

.weight-normal {
  font-weight: 400; }

.weight-light {
  font-weight: 300; }

.italic {
  font-style: italic; }

.button, .header-feature__title,
.tracking-small {
  letter-spacing: 0.06em; }


.tracking-large {
  letter-spacing: 0.08em; }

.rtf-container p,
.rtf-container li, .campaign-landing-main p,
.tracking-10 {
  letter-spacing: 0.01em; }

.form .form-error,
.tracking-20 {
  letter-spacing: 0.02em; }

.form .form-error,
.form .form__errors,
.tracking-30 {
  letter-spacing: 0.03em; }


.tracking-40 {
  letter-spacing: 0.04em; }


.tracking-50 {
  letter-spacing: 0.05em; }

.rtf-container th,
.tracking-60 {
  letter-spacing: 0.06em; }


.tracking-70 {
  letter-spacing: 0.07em; }


.tracking-80 {
  letter-spacing: 0.08em; }


.tracking-90 {
  letter-spacing: 0.09em; }


.tracking-100 {
  letter-spacing: 0.1em; }

.header-feature__title, .header-toggle__text, .header-topics__menu,
.uppercase {
  text-transform: uppercase; }

.tight-spaced {
  line-height: 1.1; }

.single-line {
  white-space: nowrap; }


.line-height-0 {
  line-height: 1; }


.line-height-1 {
  line-height: 1.1; }


.line-height-2 {
  line-height: 1.2; }


.line-height-3 {
  line-height: 1.3; }


.line-height-4 {
  line-height: 1.4; }


.line-height-5 {
  line-height: 1.5; }


.line-height-6 {
  line-height: 1.6; }


.line-height-7 {
  line-height: 1.7; }


.line-height-8 {
  line-height: 1.8; }


.line-height-9 {
  line-height: 1.9; }


.line-height-10 {
  line-height: 2; }

.flex {
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.flex--column {
  -webkit-flex-flow: column wrap;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap; }

.flex--wrap {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.gutters {
  padding-left: 1rem;
  padding-right: 1rem; }

.gutters--large {
  padding-left: 2rem;
  padding-right: 2rem; }

.positioned {
  position: relative;
  z-index: 1; }

.u-visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.row.row--gutters {
  margin-left: auto;
  margin-right: auto; }

.is-ie .ie-expand {
  width: 100%; }

.is-hidden-temporarily {
  display: none; }

.is-shown {
  display: block; }

.main:focus {
  outline: none; }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  20% {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg); }
  40% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg); }
  60% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  20% {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg); }
  40% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg); }
  60% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.bordered::before {
  content: '';
  display: block;
  height: 0.3125rem;
  margin: 0 auto 1rem;
  width: 25%; }

.bordered--green::before {
  background: #15a089; }

.circular {
  border-radius: 50%;
  overflow: hidden; }

.circular--icon.fa {
  font-size: 1rem;
  height: 2.25rem;
  line-height: 2rem;
  margin: 0 0.25rem;
  text-align: center;
  vertical-align: middle;
  width: 2.25rem; }
  @media print, screen and (min-width: 64em) {
    .circular--icon.fa {
      font-size: 1.25rem;
      height: 2.8125rem;
      line-height: 2.6875rem;
      width: 2.8125rem; } }

.circular--social {
  background: #fefefe; }
  .circular--social:hover, .circular--social:focus {
    color: #fefefe !important; }

.circular--twitter {
  border: 0.125rem solid #2b9fce;
  color: #2b9fce; }
  .circular--twitter:hover, .circular--twitter:focus {
    background: #2b9fce; }

.circular--facebook {
  border: 0.125rem solid #005288;
  color: #005288; }
  .circular--facebook:hover, .circular--facebook:focus {
    background: #005288; }

.circular--youtube {
  border: 0.125rem solid #cd201f;
  color: #cd201f; }
  .circular--youtube:hover, .circular--youtube:focus {
    background: #cd201f; }

.circular--linkedin {
  border: 0.125rem solid #15a089;
  color: #15a089; }
  .circular--linkedin:hover, .circular--linkedin:focus {
    background: #15a089; }

.circular--instagram {
  border: 0.125rem solid #D84FA9;
  color: #D84FA9; }
  .circular--instagram:hover, .circular--instagram:focus {
    background: #D84FA9; }

.circular--pinterest {
  border: 0.125rem solid #DD8058;
  color: #DD8058; }
  .circular--pinterest:hover, .circular--pinterest:focus {
    background: #DD8058; }

.circular--print {
  border: 0.125rem solid #84126a;
  color: #84126a; }
  .circular--print:hover, .circular--print:focus {
    background: #84126a; }

.circular--email {
  border: 0.125rem solid #f28b00;
  color: #f28b00; }
  .circular--email:hover, .circular--email:focus {
    background: #f28b00; }

.circular--white {
  background: transparent;
  border: 0.125rem solid #fefefe;
  color: #fefefe;
  transition: background .3s ease; }

a.circular--white:hover, a.circular--white:focus {
  background: #fefefe; }
  a.circular--white:hover.circular--twitter, a.circular--white:focus.circular--twitter {
    color: #2b9fce !important; }
  a.circular--white:hover.circular--facebook, a.circular--white:focus.circular--facebook {
    color: #005288 !important; }
  a.circular--white:hover.circular--youtube, a.circular--white:focus.circular--youtube {
    color: #cd201f !important; }

.circular--white-border {
  border: 0.125rem solid #fefefe; }

.ornamented {
  position: relative; }
  .ornamented::after {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    content: '';
    display: block;
    position: absolute; }
    @media screen and (max-width: 47.9375em) {
      .ornamented::after {
        display: none; } }

.ornamented--top-left::after {
  background-image: url("../img/ornament--top-left.png");
  bottom: 100%;
  height: 54px;
  left: -3rem;
  margin-bottom: -1rem;
  width: 373px;
  z-index: -1; }

.ornamented--top-right::after {
  background-image: url("../img/ornament--top-right.png");
  height: 160px;
  right: -21px;
  top: -21px;
  width: 375px;
  z-index: -1; }

.ornamented--bottom::after {
  background-image: url("../img/ornament--bottom.png");
  height: 48px;
  right: 2rem;
  top: 100%;
  width: 373px; }

.ornamented--bottom.ornamented--left::after {
  left: 2rem; }

.ornamented--left::after {
  background-image: url("../img/ornament--bottom-left.png");
  height: 37px;
  right: auto;
  width: 600px; }

.feature-tiles, .is-header-search-open .header-search__flyout .header-search__form, .campaign-landing__player .player__button,
.shadowed {
  box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.3); }

.locations-map .infoBox,
.shadowed--light {
  box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.15); }

@media print, screen and (min-width: 48em) {
  .shadowed-for-medium {
    box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.3); } }

@media print, screen and (min-width: 48em) {
  .shadowed-for-medium--light {
    box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.15); } }

@media print, screen and (min-width: 30em) {
  .shadowed-for-phablet {
    box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.3); } }

@media screen and (max-width: 47.9375em) {
  .shadowed-for-phablet-down {
    box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.3); } }


.shadowed--small {
  box-shadow: 0 0 1.875rem rgba(37, 37, 37, 0.4); }

.header-search__flyout,
.flyout {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  will-change: transform; }

.sg-body {
  min-height: 50rem;
  padding-top: 0; }
  .sg-body .sg-link {
    font-size: 1rem; }
  .sg-body .sg-block__header2 {
    margin-bottom: 0; }
  .sg-body .sg-block__header3 {
    font-size: 0.875rem; }
  .sg-body .sg-block__list > li {
    margin-bottom: 0; }
  .sg-body .sidebar {
    position: static; }
  .sg-body .testimonial {
    margin-top: 3rem; }

.sg-buttons .button--magenta-light.hollow {
  color: #b6379a; }

.sg-buttons .button--green-lime.hollow {
  color: #81bc00; }

.sg-contain .header {
  position: relative; }

.sg-contain .conference-header {
  margin-top: 5rem;
  position: relative; }

.custom-accordion .accordion-title {
  border: 0;
  border-bottom: 2px solid #005288;
  color: #005288;
  padding: 1rem 0; }
  .custom-accordion .accordion-title:hover, .custom-accordion .accordion-title:focus {
    background-color: #fefefe;
    border-color: #2b9fce;
    color: #2b9fce; }
  .is-active .custom-accordion .accordion-title {
    border-bottom: 2px solid; }
  .custom-accordion .accordion-title::before {
    font-size: 2rem;
    margin-top: 0;
    right: 0;
    top: auto; }

.custom-accordion .accordion-content {
  border: 0;
  padding: .5rem 0; }

.custom-accordion .accordion-item:last-child > .accordion-content:last-child {
  border: 0; }

.custom-accordion .accordion-item:last-child:not(.is-active) > .accordion-title {
  border-bottom: 2px solid #005288; }
  .custom-accordion .accordion-item:last-child:not(.is-active) > .accordion-title:hover, .custom-accordion .accordion-item:last-child:not(.is-active) > .accordion-title:focus {
    border-color: #2b9fce; }

.custom-accordion .accordion-details {
  font-size: 0.875rem; }

.background--padding {
  padding-bottom: 1rem;
  padding-top: 1rem; }

.background--padding-sides {
  padding-left: 1rem;
  padding-right: 1rem; }

.background--padding-medium {
  padding-bottom: 1.375rem;
  padding-top: 1.375rem; }

.background--padding-medium-sides {
  padding-left: 1.375rem;
  padding-right: 1.375rem; }

.background--padding-large-caption {
  padding-bottom: 1.375rem;
  padding-top: 1.375rem; }
  @media print, screen and (min-width: 64em) {
    .background--padding-large-caption {
      padding-bottom: 1.75rem;
      padding-top: 1.75rem; } }

.background--padding-large {
  padding-bottom: 2.125rem;
  padding-top: 1.75rem; }

.background--padding-large-sides {
  padding-left: 1.75rem;
  padding-right: 1.75rem; }

.background--padding-xl {
  padding-bottom: 3rem;
  padding-top: 2.625rem; }

.background--padding-xl-sides {
  padding-left: 2.625rem;
  padding-right: 2.625rem; }
  @media screen and (max-width: 47.9375em) {
    .background--padding-xl-sides {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.background--padding-xxl {
  padding-bottom: 3.9375rem;
  padding-top: 3.4375rem; }

.background--padding-xxl-top {
  padding-top: 3.4375rem; }

.background--padding-xxl-sides {
  padding-left: 3.4375rem;
  padding-right: 3.4375rem; }

.background--padding-xxxl {
  padding-bottom: 5rem;
  padding-top: 4.375rem; }

.background--padding-xxxl-sides {
  padding-left: 6.25rem;
  padding-right: 6.25rem; }

.background--padding-placeholder {
  padding-bottom: 9.375rem;
  padding-top: 9.375rem; }

.background--white {
  background-color: #fefefe; }

.background--white-transparent {
  background-color: rgba(254, 254, 254, 0.85); }

@media screen and (max-width: 47.9375em) {
  .background--black-fade-for-medium {
    background-color: #fefefe;
    color: #252525; } }

@media print, screen and (min-width: 48em) {
  .background--black-fade-for-medium {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
    color: #fefefe; } }

.background--black-fade {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  color: #fefefe; }

.background--black {
  background: #252525;
  color: #fefefe; }

@media screen and (max-width: 47.9375em) {
  .background--black-for-medium {
    background-color: #fefefe;
    color: #252525; } }

@media print, screen and (min-width: 48em) {
  .background--black-for-medium {
    background-color: #252525;
    color: #fefefe; } }

.background--black-transparent {
  background: rgba(37, 37, 37, 0.85);
  color: #fefefe; }

.background--blue-dark-2 {
  background: #015289;
  color: #fefefe; }

.background--orange-dark {
  background: #d9541e;
  color: #fefefe; }
  .background--orange-dark .button {
    color: #fefefe; }
    .background--orange-dark .button.hollow {
      color: #fefefe; }
  .background--orange-dark .link--white:hover, .background--orange-dark .link--white:focus {
    color: #f9ad4a; }

.background--green-forest {
  background: #005438;
  color: #fefefe; }

.background--green-mid {
  background: #00704a;
  color: #fefefe; }

.background--green-teal {
  background: #15a089;
  color: #fefefe; }

.background--red-brick {
  background: #c23c33;
  color: #fefefe; }

.background--magenta-dark {
  background: #84126a;
  color: #fefefe; }
  .background--magenta-dark .button {
    color: #fefefe; }
  .background--magenta-dark .form-error {
    color: #fefefe; }

.background--blue-navy {
  background: #003764;
  color: #fefefe; }
  .background--blue-navy .button {
    color: #fefefe; }
  .background--blue-navy a:not(.link--arrow-3d):hover, .background--blue-navy a:not(.link--arrow-3d):focus {
    color: #2b9fce; }

.background--blue-dark {
  background: #005288;
  color: #fefefe; }
  .background--blue-dark .button {
    color: #fefefe; }
  .background--blue-dark a:hover, .background--blue-dark a:focus {
    color: #2b9fce; }

.background--blue-light {
  background: #2b9fce;
  color: #fefefe; }
  .background--blue-light a {
    color: #005288;
    font-weight: 500; }
    .background--blue-light a:hover, .background--blue-light a:focus {
      color: #003764; }

.background--gray {
  background: #f0f2f2; }

.background--green-teal-pale {
  background: #dcf1ed; }

.background--orange-very-light {
  background: #fef0dd; }

.background--email {
  padding-left: 2rem;
  padding-right: 2rem; }

.background--arrow-top {
  position: relative; }
  .background--arrow-top::before {
    border-left: 2.5rem solid transparent;
    border-right: 2.5rem solid transparent;
    border-top: 1.125rem solid #fefefe;
    content: '';
    display: block;
    left: calc(50% - 40px);
    position: absolute;
    top: 0; }
  .background--arrow-top.background--arrow-top-large::before {
    border-width: 2rem 4.4375rem 0;
    left: calc(50% - 71px); }
  .background--arrow-top.background--arrow-top-magenta::before {
    border-color: #84126a transparent transparent; }

.player-bg {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .player-bg {
      display: block;
      left: 0;
      min-height: 100%;
      opacity: 0;
      padding-bottom: 56.25%;
      pointer-events: none;
      position: absolute;
      right: 0;
      text-align: center;
      transition: .5s ease;
      transition-property: top, opacity;
      width: 100%; }
      .player-bg.is-ready {
        opacity: 1; }
      .is-playing-fg-video .player-bg {
        opacity: 0;
        pointer-events: none;
        top: 0;
        visibility: hidden; }
      .player-bg .plyr,
      .player-bg iframe {
        bottom: 0;
        height: auto;
        left: 0;
        min-height: 100%;
        min-width: 100%;
        position: absolute;
        right: 0;
        top: 0;
        width: auto; } }
  @media screen and (min-width: 75em) {
    .player-bg {
      top: -10vh; }
      .conference-splash.splash--bg-video .player-bg {
        top: 0; } }

html:not(.conference) body {
  padding-top: 116px;
  transition: padding-top .3s;
  will-change: padding-top; }
  html:not(.conference) body.sg-body {
    padding-top: 0; }

/* YAPL
name: Breadcrumb Navigation
partial: breadcrumb-nav
context: breadcrumb-nav.marketplace
selector: .breadcrumb-nav__container
*/
.breadcrumb-nav {
  background-color: #003764;
  border: 2px solid #005288;
  border-left: 0;
  border-right: 0; }

.breadcrumb-nav__container {
  position: relative;
  z-index: 5; }

.breadcrumb-nav__item {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #003764;
  color: #13b5ea;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.125rem;
  position: relative;
  transition: background .3s ease; }
  .breadcrumb-nav__item:nth-child(1) {
    z-index: 7; }
  .breadcrumb-nav__item:nth-child(2) {
    z-index: 6; }
  .breadcrumb-nav__item:nth-child(3) {
    z-index: 5; }
  .breadcrumb-nav__item .fa {
    color: inherit;
    font-size: 1.125rem;
    margin-right: 0.625rem; }
  .breadcrumb-nav__item.is-active .breadcrumb-nav__link {
    color: #fefefe; }
    .breadcrumb-nav__item.is-active .breadcrumb-nav__link:hover, .breadcrumb-nav__item.is-active .breadcrumb-nav__link:focus {
      color: #fefefe; }
  .breadcrumb-nav__item:not(.breadcrumb-nav__item--last)::after, .breadcrumb-nav__item:not(.breadcrumb-nav__item--last)::before {
    background-image: url("../img/breadcrumb-arrow.png");
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 100%;
    left: 100%;
    position: absolute;
    top: 0;
    width: 16px;
    z-index: 3; }
  .breadcrumb-nav__item:not(.breadcrumb-nav__item--last)::before {
    background-image: url("../img/breadcrumb-arrow--hover.png");
    opacity: 0;
    transition: opacity .285s ease;
    z-index: 4; }
  .breadcrumb-nav__item:not(.is-active):hover, .breadcrumb-nav__item:not(.is-active).is-focused, .breadcrumb-nav__item:not(.is-active).is-expanded {
    background-color: #005288;
    border-color: #fefefe;
    outline: none; }
    .breadcrumb-nav__item:not(.is-active):hover::before, .breadcrumb-nav__item:not(.is-active).is-focused::before, .breadcrumb-nav__item:not(.is-active).is-expanded::before {
      opacity: 1; }
  .breadcrumb-nav__item.is-expanded .fa::before {
    content: '\f056'; }
  .breadcrumb-nav__item .breadcrumb-nav__dropdown-expand {
    line-height: 1.3;
    padding: 0.9375rem 0 0.9375rem 1.5625rem; }
    .breadcrumb-nav__item .breadcrumb-nav__dropdown-expand:hover, .breadcrumb-nav__item .breadcrumb-nav__dropdown-expand:focus {
      color: #71d3f2; }
    .breadcrumb-nav__item .breadcrumb-nav__dropdown-expand + .breadcrumb-nav__link {
      padding-left: 0.625rem; }
  .breadcrumb-nav__item .breadcrumb-nav__link {
    display: block;
    line-height: 1.3;
    padding: 0.9375rem;
    padding-left: 2.1875rem; }
    .breadcrumb-nav__item .breadcrumb-nav__link:hover, .breadcrumb-nav__item .breadcrumb-nav__link:focus {
      color: #71d3f2; }

.breadcrumb-nav__dropdown {
  background-color: #005288;
  display: none;
  left: 0;
  opacity: 0;
  padding: 0.75rem 2.5rem 1.25rem;
  position: absolute;
  top: 100%;
  -webkit-transform: translateY(-10%);
      -ms-transform: translateY(-10%);
          transform: translateY(-10%);
  transition: .3s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  z-index: 1; }
  .is-expanded .breadcrumb-nav__dropdown {
    clip: auto;
    display: block;
    height: auto;
    margin: 0;
    min-width: 300px;
    opacity: 1;
    overflow: visible;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    width: 100%; }

.breadcrumb__dropdown-item {
  line-height: 1.2;
  margin: 10px 0; }
  .breadcrumb__dropdown-item .breadcrumb__dropdown-link {
    color: #13b5ea;
    display: block;
    font-size: 1rem;
    outline: none;
    position: relative; }
    .breadcrumb__dropdown-item .breadcrumb__dropdown-link::before {
      background-color: #13b5ea;
      border-radius: 50%;
      content: '';
      display: block;
      height: 4px;
      left: -16px;
      opacity: 0;
      position: absolute;
      top: calc(50% - 2px);
      transition: .3s ease;
      transition-property: opacity, left;
      width: 4px; }
    .breadcrumb__dropdown-item .breadcrumb__dropdown-link:hover, .breadcrumb__dropdown-item .breadcrumb__dropdown-link:focus {
      color: #71d3f2; }
      .breadcrumb__dropdown-item .breadcrumb__dropdown-link:hover::before, .breadcrumb__dropdown-item .breadcrumb__dropdown-link:focus::before {
        left: -12px;
        opacity: 1; }
    .breadcrumb__dropdown-item .breadcrumb__dropdown-link.is-active {
      color: #fefefe;
      cursor: default; }
      .breadcrumb__dropdown-item .breadcrumb__dropdown-link.is-active:hover::before, .breadcrumb__dropdown-item .breadcrumb__dropdown-link.is-active:focus::before {
        display: none; }

/* YAPL
name: Button - Orange
partial: sg-button-orange
selector: .button
*/
/* YAPL
name: Button - Blue
partial: sg-button-blue
selector: .button
*/
/* YAPL
name: Button - Green
partial: sg-button-green
selector: .button
*/
/* YAPL
name: Button - Magenta
partial: sg-button-magenta
selector: .button
*/
/* YAPL
name: Button - Orange
partial: sg-button-orange
selector: .button
*/
/* YAPL
name: Button
partial: sg-button
selector: .button
*/
.button {
  display: inline-block;
  font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  text-transform: uppercase;
  transition: .3s ease;
  transition-property: background-color, color, opacity, border; }
  .button:hover i, .button:focus i {
    left: 0.375rem; }
  .button i {
    left: 0.0625rem;
    position: relative;
    transition: left .3s ease; }
    .button i.fa-angle-right::before, .button i.fa-chevron-right::before {
      font-size: .7em;
      position: relative; }
  .button .icon {
    height: 14px;
    vertical-align: baseline;
    width: 9px; }
    .button .icon.fa {
      display: inline; }
      .button .icon.fa::before {
        font-size: .7em;
        margin-left: 10px;
        vertical-align: middle; }
  .button.link--more {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-right: 1.625rem; }
    .button.link--more .icon.fa {
      left: 0.625rem; }
    .button.link--more:hover .icon.fa.fa-chevron-right, .button.link--more:hover .icon.fa.fa-chevron-left, .button.link--more:hover .icon.fa.fa-angle-right, .button.link--more:hover .icon.fa.fa-angle-left, .button.link--more:focus .icon.fa.fa-chevron-right, .button.link--more:focus .icon.fa.fa-chevron-left, .button.link--more:focus .icon.fa.fa-angle-right, .button.link--more:focus .icon.fa.fa-angle-left {
      left: 0.9375rem; }

.button--narrow {
  display: block;
  padding: 1.0625rem 0.875rem; }

.button--small {
  font-size: 1rem; }
  .button--small .icon {
    height: 12px;
    width: 8px; }
    .button--small .icon.fa {
      height: auto;
      width: auto; }
      .button--small .icon.fa::before {
        font-size: 1rem;
        margin-left: 4px; }
    .button--small .icon.fa-chevron-right::before {
      font-size: .6em;
      top: -.15em; }

.button--large {
  font-size: 1.25rem;
  letter-spacing: .1em;
  padding: 1rem 2rem; }
  .button--large .icon {
    height: 12px;
    width: 8px; }
    .button--large .icon.fa {
      height: auto;
      width: auto; }
      .button--large .icon.fa::before {
        font-size: 1rem;
        margin-left: 4px; }
    .button--large .icon.fa-chevron-right::before {
      font-size: .6em;
      top: -.05em; }

.button--login {
  padding: 11px 13px; }

.button--orange {
  background-color: #d9541e;
  border: 0.1875rem solid #d9541e;
  color: #fefefe; }
  .button--orange:hover, .button--orange:focus {
    background-color: #d9541e;
    border-color: #b54619;
    color: #fefefe; }
  .button--orange.hollow {
    background-color: transparent;
    border: 0.1875rem solid #f8981d;
    color: #d9541e; }
    .button--orange.hollow.white {
      color: #fefefe; }
    .button--orange.hollow:hover, .button--orange.hollow:focus {
      background-color: #f8981d;
      border-color: #e58407;
      color: #fefefe; }
  .button--orange.orange {
    border-color: #f8981d;
    color: #d9541e; }
    .button--orange.orange:hover, .button--orange.orange:focus {
      color: #fefefe; }

.button--orange-solid {
  background-color: #d9541e; }
  .button--orange-solid:hover, .button--orange-solid:focus {
    background-color: #d9541e; }

.button--orange-dark {
  border: 0.1875rem solid #d9541e; }
  .button--orange-dark:hover, .button--orange-dark:focus {
    background-color: #d9541e;
    border-color: #e46c3c;
    color: #fefefe; }
  .button--orange-dark.hollow {
    background-color: transparent;
    border: 0.1875rem solid #d9541e;
    color: #d9541e; }
    .button--orange-dark.hollow:hover, .button--orange-dark.hollow:focus {
      background-color: #d9541e;
      border-color: #e46c3c;
      color: #fefefe; }

.button--blue,
.button--blue-light {
  background-color: #2b9fce;
  color: #fefefe; }
  .button--blue:hover, .button--blue:focus,
  .button--blue-light:hover,
  .button--blue-light:focus {
    background-color: #2b9fce; }
  .button--blue.hollow,
  .button--blue-light.hollow {
    background-color: transparent;
    border: 0.1875rem solid #2b9fce; }
    .button--blue.hollow:hover, .button--blue.hollow:focus,
    .button--blue-light.hollow:hover,
    .button--blue-light.hollow:focus {
      background-color: #2b9fce;
      border-color: #2485ac;
      color: #fefefe; }

.button--blue-dark {
  background-color: #005288;
  color: #fefefe; }
  .button--blue-dark:hover, .button--blue-dark:focus {
    background-color: #005288;
    color: #fefefe; }
  .button--blue-dark.hollow {
    background-color: transparent;
    border: 0.1875rem solid #005288; }
    .button--blue-dark.hollow:hover, .button--blue-dark.hollow:focus {
      background-color: #005288;
      border-color: #005e9c;
      color: #fefefe; }

.button--blue-navy {
  background-color: #003764;
  color: #fefefe; }
  .button--blue-navy:hover, .button--blue-navy:focus {
    background-color: #003764;
    color: #fefefe; }
  .button--blue-navy.hollow {
    background-color: transparent;
    border: 0.1875rem solid #003764;
    color: #003764; }
    .button--blue-navy.hollow:hover, .button--blue-navy.hollow:focus {
      background-color: #003764;
      border-color: #004278;
      color: #fefefe; }

.button--blue-twitter {
  background-color: #2b9fce;
  color: #fefefe; }
  .button--blue-twitter:hover, .button--blue-twitter:focus {
    background-color: #2b9fce; }
  .button--blue-twitter.hollow {
    background-color: transparent;
    border: 0.1875rem solid #2b9fce; }
    .button--blue-twitter.hollow:hover, .button--blue-twitter.hollow:focus {
      background-color: #2b9fce;
      border-color: #2485ac;
      color: #fefefe; }

.button--green-lime {
  background-color: #81bc00;
  border: 0.1875rem solid #81bc00;
  color: #fefefe; }
  .button--green-lime:hover, .button--green-lime:focus {
    background-color: #81bc00;
    border-color: #659300; }
  .button--green-lime.hollow {
    background-color: transparent;
    border: 0.1875rem solid #81bc00;
    color: #fefefe; }
    .button--green-lime.hollow:hover, .button--green-lime.hollow:focus {
      background-color: #81bc00;
      border-color: #659300;
      color: #fefefe; }

.button--green-mid {
  background-color: #00704a;
  border: 0.1875rem solid #00704a;
  color: #fefefe; }
  .button--green-mid:hover, .button--green-mid:focus {
    background-color: #00704a;
    border-color: #00472f; }
  .button--green-mid.hollow {
    background-color: transparent;
    border: 0.1875rem solid #00704a;
    color: #00704a; }
    .button--green-mid.hollow:hover, .button--green-mid.hollow:focus {
      background-color: #00704a;
      border-color: #00472f;
      color: #fefefe; }

.button--green-teal {
  background-color: #15a089;
  border: 0.1875rem solid #15a089;
  color: #fefefe; }
  .button--green-teal:hover, .button--green-teal:focus {
    background-color: #15a089;
    border-color: #1ac4a8;
    color: #fefefe; }
    .button--green-teal:hover .icon--arrow-right, .button--green-teal:focus .icon--arrow-right {
      background-color: #fefefe;
      background-image: url("../img/icon/arrow-right--teal-dark.svg"); }

.button--orange-light {
  background-color: #f8981d;
  color: #fefefe; }
  .button--orange-light:hover, .button--orange-light:focus {
    background-color: #d9541e;
    color: #fbc177; }
    .button--orange-light:hover .icon--arrow-right, .button--orange-light:focus .icon--arrow-right {
      background-color: #fefefe;
      background-image: url("../img/icon/arrow-right--orange-dark.svg"); }
  .button--orange-light.hollow {
    border: 0.1875rem solid #f8981d;
    color: #f8981d; }
    .button--orange-light.hollow:hover, .button--orange-light.hollow:focus {
      background-color: #f8981d;
      border-color: #e58407;
      color: #fefefe; }

.button--magenta-light {
  background-color: #b6379a;
  border: 0.1875rem solid #b6379a;
  color: #fefefe; }
  .button--magenta-light:hover, .button--magenta-light:focus {
    background-color: #b6379a;
    border-color: #972e7f; }
  .button--magenta-light.hollow {
    background-color: transparent;
    border: 0.1875rem solid #b6379a;
    color: #fefefe; }
    .button--magenta-light.hollow:hover, .button--magenta-light.hollow:focus {
      background-color: #b6379a;
      border-color: #972e7f;
      color: #fefefe; }

.button--red-brick {
  background-color: #c23c33;
  color: #fefefe; }
  .button--red-brick:hover, .button--red-brick:focus {
    background-color: #a2322b; }

.button--magenta-dark {
  background-color: #84126a;
  border: 0.1875rem solid #84126a;
  color: #fefefe; }
  .button--magenta-dark:hover, .button--magenta-dark:focus {
    background-color: #84126a;
    border-color: #600d4d; }
  .button--magenta-dark.hollow {
    background-color: transparent;
    border: 0.1875rem solid #84126a;
    color: #84126a; }
    .button--magenta-dark.hollow:hover, .button--magenta-dark.hollow:focus {
      background-color: #84126a;
      border-color: #600d4d;
      color: #fefefe; }

.button--gray {
  background-color: #8f8f8f;
  border: 0.1875rem solid #8f8f8f;
  color: #fefefe; }
  .button--gray:hover, .button--gray:focus {
    background-color: #8f8f8f;
    border-color: #7b7b7b; }
  .button--gray.hollow {
    background-color: transparent;
    border: 0.1875rem solid #d2d2d2;
    color: #8f8f8f; }
    .button--gray.hollow:hover, .button--gray.hollow:focus {
      background-color: #8f8f8f;
      border-color: #7b7b7b;
      color: #fefefe; }

/* YAPL
name: Cards
partial: cards
context: cards.sitemap
selector: .cards
*/
@media print, screen and (min-width: 48em) {
  .cards--sitemap {
    padding-right: 20px; } }

.card {
  border: 0;
  padding: 1rem; }
  .card ~ .card {
    margin-top: 2rem; }
  .card .button {
    display: block;
    padding: .85em 1rem; }
    .card .button .icon.fa.fa-external-link {
      color: inherit;
      left: 0;
      margin-left: 0; }
      .card .button .icon.fa.fa-external-link::before {
        margin-left: 0;
        margin-right: 3px; }
    .card .button .icon.fa.fa-chevron-right::before {
      top: -1px; }

.card--magenta-dark {
  border-top: 10px solid #84126a; }
  .card--magenta-dark .button {
    background-color: #84126a; }

.card--green-teal {
  border-top: 10px solid #15a089; }
  .card--green-teal .button {
    background-color: #15a089; }

/* YAPL
name: Captioned Image
partial: captioned-image
context: captioned-images.ms2
selector: .captioned-image
*/
.captioned-image {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 100%; }
  .captioned-image img {
    position: relative;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    width: 100%;
    z-index: 2; }
  .captioned-image figcaption {
    display: block;
    padding-left: 1.6875rem;
    padding-right: 1.375rem;
    position: relative;
    top: 100%;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    transition: .5s ease;
    transition-delay: .1s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    width: 100%;
    z-index: 1; }
  .captioned-image .caption__text {
    display: block;
    -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
            transform: translateY(-20px); }
    .captioned-image .caption__text::before {
      top: 10%; }
  .captioned-image .is-in-view figcaption {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    .captioned-image .is-in-view figcaption .caption__text {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
      .captioned-image .is-in-view figcaption .caption__text::before {
        height: 80%; }
  @media print, screen and (min-width: 64em) {
    .captioned-image.captioned-image--large .caption__text {
      font-size: 1.25rem; }
    .captioned-image.captioned-image--large .is-in-view figcaption .caption__text::before {
      height: 160%; }
    .captioned-image.captioned-image--large.captioned-image--down .is-in-view figcaption .caption__text::before {
      top: -30%; }
    .captioned-image.captioned-image--large.captioned-image--up .is-in-view figcaption .caption__text::before {
      bottom: -30%; } }
  .captioned-image.master-sub-main-image {
    z-index: 0; }

.is-chrome .featured-article .captioned-image figcaption {
    position: inherit;
}

.caption__text {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.25;
    opacity: 0;
    padding-left: 1.375rem;
    transition: .5s ease;
    transition-delay: .35s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
}
  .caption__text::before {
    background-color: #d9541e;
    content: '';
    display: block;
    height: 0;
    left: 0;
    position: absolute;
    transition: height .4s ease;
    transition-delay: .45s;
    width: 4px; }
    .background--orange-dark .caption__text::before {
      background-color: #f8981d; }

@media print, screen and (min-width: 48em) {
  .captioned-image--up {
    overflow: hidden;
    position: relative; }
    .captioned-image--up figcaption {
      bottom: 0;
      position: absolute;
      top: auto;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%);
      z-index: 2; }
      .captioned-image--up figcaption.background--black-fade-for-medium {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        min-height: 9.375rem; }
        .is-ie .captioned-image--up figcaption.background--black-fade-for-medium {
          height: 9.375rem; }
    .captioned-image--up .in-view-trigger {
      bottom: 0;
      position: absolute;
      width: 100%; }
    .captioned-image--up .caption__text {
      -webkit-transform: translateY(20px);
          -ms-transform: translateY(20px);
              transform: translateY(20px); }
      .captioned-image--up .caption__text::before {
        bottom: 10%;
        top: auto; } }

.is-ie .captioned-image--down figcaption,
.is-firefox .captioned-image--down figcaption,
.is-edge .captioned-image--down figcaption {
  -webkit-transform: translateY(-200%);
      -ms-transform: translateY(-200%);
          transform: translateY(-200%); }

.is-ie .captioned-image--down .is-in-view figcaption,
.is-firefox .captioned-image--down .is-in-view figcaption,
.is-edge .captioned-image--down .is-in-view figcaption {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

@media screen and (max-width: 47.9375em) {
  .is-ie .captioned-image--up figcaption,
  .is-firefox .captioned-image--up figcaption,
  .is-edge .captioned-image--up figcaption {
    -webkit-transform: translateY(-200%);
        -ms-transform: translateY(-200%);
            transform: translateY(-200%); }
  .is-ie .captioned-image--up .is-in-view figcaption,
  .is-firefox .captioned-image--up .is-in-view figcaption,
  .is-edge .captioned-image--up .is-in-view figcaption {
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); } }

/* YAPL
name: Community
partial: community
*/
.community {
  height: 100%;
  max-width: 550px;
  padding-left: 2.5rem;
  padding-right: 2.5rem; }
  @media print, screen and (min-width: 64em) {
    .community {
      padding-left: 6.25rem; } }
  .community.is-in-view .community__item {
    opacity: 1;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }
  .community .community__item {
    border-bottom: 1px solid #fefefe;
    opacity: 0;
    padding: 1.75rem 0;
    -webkit-transform: translateX(-30%);
        -ms-transform: translateX(-30%);
            transform: translateX(-30%);
    transition: .8s ease;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform; }
    .community .community__item:last-child {
      border: 0; }
    .community .community__item:nth-child(2) {
      transition-delay: .2s; }
    .community .community__item:nth-child(3) {
      transition-delay: .4s; }
    .community .community__item .community__link {
      color: #f8981d;
      font-size: 1.125rem; }
      @media print, screen and (min-width: 48em) {
        .community .community__item .community__link {
          font-size: 1.375rem; } }
      .community .community__item .community__link:hover {
        color: #f9ad4a; }
      .community .community__item .community__link .icon.fa.fa-chevron-right::before {
        font-size: .6em;
        top: -.125rem; }

/* YAPL
name: Community Announcements
partial: community-announcements
*/
.community-announcements .community-announcements__title {
  border-bottom: 1px solid #fefefe;
  padding-bottom: 1rem; }

.community-announcements .community-announcements__list li {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.25rem;
  padding: .25rem 0; }
  .community-announcements .community-announcements__list li::before {
    background-color: #f8981d;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    margin-right: 1rem;
    width: 10px; }

.community-announcements .community-announcements__list ~ .button {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

/* YAPL
name: Contact Options
partial: contact-options
context: contact-options
*/
.contact-options__item {
  border-right: 1px solid #d2d2d2; }
  .contact-options__item:last-child {
    border-right: 0; }
  .contact-options__item img {
    max-width: 6.25rem;
    width: 100%; }

.contact-options__item-inner p {
  line-height: 1.2; }

/* YAPL
name: Blue Call-to-Action
partial: cta-blue
context: cta-blue.ms1
*/
.cta-blue {
  position: relative; }
  .cta-blue::before {
    background-color: #005288;
    border-radius: 50%;
    content: '';
    display: block;
    height: 78px;
    left: calc(50% - 39px);
    margin: 0 auto;
    position: absolute;
    top: -25px;
    width: 78px; }
  .cta-blue::after {
    background-color: #fefefe;
    border-radius: 50%;
    content: '';
    display: block;
    height: 12px;
    left: calc(50% - 6px);
    position: absolute;
    top: 2px;
    width: 12px; }
  .cta-blue .button--blue-light.solid {
    border: 0.1875rem solid #2b9fce; }
    .cta-blue .button--blue-light.solid:hover, .cta-blue .button--blue-light.solid:focus {
      background-color: #2b9fce;
      border-color: #2485ac;
      color: #fefefe; }

.cta__buttons {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .cta-blue .cta__buttons {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .cta__buttons {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cta__buttons .button {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 325px;
    padding: 1rem 2rem;
    width: 90%; }
    .cta-blue .cta__buttons .button {
      max-width: 420px;
      width: 90%; }
    .cta__buttons .button .cta__text {
      position: relative; }
      .cta__buttons .button .cta__text::after {
        content: '\f054';
        display: block;
        font-family: 'FontAwesome' !important;
        font-size: .7em;
        position: absolute;
        right: -20px;
        top: calc(50% - 6px);
        transition: right .3s ease;
        will-change: right; }
    .cta__buttons .button:hover .cta__text::after, .cta__buttons .button:focus .cta__text::after {
      right: -25px; }
    @media screen and (max-width: 47.9375em) {
      .cta__buttons .button {
        display: block;
        margin: 0 auto; } }
    @media print, screen and (min-width: 48em) {
      .cta__buttons .button {
        width: 50%; } }
    @media print, screen and (min-width: 64em) {
      .cta__buttons .button {
        max-width: 350px;
        width: 35%; }
        .cta-blue .cta__buttons .button {
          max-width: 420px;
          width: 90%; } }
    @media screen and (max-width: 47.9375em) {
      .cta__buttons .button:first-child {
        margin-bottom: 1rem; } }
    @media screen and (min-width: 48em) {
      .cta__buttons .button:first-child {
        margin-right: 1.5rem; } }
    @media screen and (max-width: 63.9375em) {
      .cta-blue .cta__buttons .button {
        display: block;
        margin: 0 .75rem 1rem; } }
    .cta__buttons .button .cta__button-text {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .cta__buttons .button.player__play {
      padding-bottom: 0.875rem;
      padding-top: 0.875rem; }
      .cta__buttons .button.player__play .icon {
        background-image: url("../img/icon/play-circle.svg");
        background-size: contain;
        display: inline-block;
        height: 24px;
        margin-left: 10px;
        transition: -webkit-transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease, -webkit-transform .3s ease;
        width: 24px;
        will-change: transform; }

/* YAPL
name: Orange Call-to-Action
partial: cta-orange
context: cta-orange.hp1
selector: .cta-orange
*/
@media print, screen and (min-width: 48em) {
  .cta-orange--center .button {
    margin-left: 1.5rem; } }

/* YAPL
name: Email Sign-up Form
partial: email-sign-up
*/
.email-sign-up {
  border-left: 4px solid #d9541e;
  padding-bottom: 0;
  padding-top: 0; }
  .email-sign-up .input-group .field {
    width: auto; }
    @media screen and (max-width: 47.9375em) {
      .email-sign-up .input-group .field.is-invalid-label {
        margin-bottom: 1.25rem; } }
    .email-sign-up .input-group .field input {
      background: #f0f2f2;
      font-size: 1.25rem;
      height: 3.75rem;
      padding: 14px 10px 14px 14px; }
    @media print, screen and (min-width: 48em) {
      .email-sign-up .input-group .field:nth-child(3) {
        width: 35%; } }
    .email-sign-up .input-group .field .floating-label {
      padding-left: 14px; }
  .email-sign-up .form .form__errors,
  .email-sign-up .form .form-error {
    color: #c23c33; }
  .email-sign-up .label-text {
    color: #8f8f8f;
    font-size: 1.25rem;
    transition: font-size .3s ease; }
  .email-sign-up .field--not-empty .label-text,
  .email-sign-up .field--focused .label-text {
    font-size: 0.875rem; }

/* YAPL
name: Events - Homepage
partial: sg-events
selector: .events
*/
.event__item .column > img, .event__item .columns > img {
  width: 100%; }

@media screen and (min-width: 48em) {
  .bulletin {
    padding-right: 2.8125rem; } }

/* YAPL
name: Error Page Search
partial: error-search
context: error-search.404-page
*/
.error-search {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 650px;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .error-search {
      min-height: 700px; } }

.error-search-content {
  left: 0;
  margin: 0 auto;
  max-width: 40rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: 300px;
  width: 95%; }
  @media print, screen and (min-width: 30em) {
    .error-search-content {
      width: 90%; } }
  @media print, screen and (min-width: 48em) {
    .error-search-content {
      top: 400px;
      width: 75%; } }
  @media print, screen and (min-width: 64em) {
    .error-search-content {
      width: 65%; } }
  .error-search-content .splash-search__form {
    box-shadow: none; }
  .error-search-content .form .floating-label {
    left: 75px;
    top: 45%; }
    .error-search-content .form .floating-label .label-text {
      transition: font-size .3s ease; }
  .error-search-content .field--not-empty .floating-label,
  .error-search-content .field--focused .floating-label {
    top: 15px; }
    .error-search-content .field--not-empty .floating-label .label-text,
    .error-search-content .field--focused .floating-label .label-text {
      font-size: 1rem; }

.error-search-content-links a {
  margin: 0 1.5rem; }

/* YAPL
name: Feature Image
partial: sg-feature-image
selector: .feature-image
*/
.feature-image .image-fill {
  height: 100%;
  min-height: 26.5625rem;
  transition: min-height .4s ease; }

.feature-image .image-fill__background {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  left: 0;
  min-height: 26.5625rem;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 2; }
  @media print, screen and (min-width: 48em) {
    .feature-image .image-fill__background {
      min-height: 0;
      position: absolute;
      z-index: 1; } }

.feature-image .flex--column {
  height: 100%;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .feature-image .flex--column .button {
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start; }
    .feature-section .feature-image .flex--column .button {
      width: 300px; }

/* YAPL
name: Featured Section
partial: feature-section
context: feature-section.primary-landing
selector: .feature-section
*/
.feature-section__secondary {
  margin-top: 30px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .feature-section__secondary {
      padding-right: 30px; }
      .feature-section__secondary:nth-child(2n) {
        padding-right: 0; } }
  @media print, screen and (min-width: 64em) {
    .feature-section__secondary {
      margin-top: 0;
      padding-right: 30px; }
      .feature-section__secondary:nth-child(3n) {
        padding-right: 0; } }
  .feature-section__secondary img {
    display: none; }
    @media print, screen and (min-width: 48em) {
      .feature-section__secondary img {
        display: block;
        float: left;
        margin-right: 15px;
        width: 110px; } }
  .feature-section__secondary .flex--column {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    height: 100%;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .feature-section__secondary .flex--column .button {
      -webkit-flex-grow: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      font-size: 1.25rem; }

.feature-section__secondary-content {
  max-width: 100%; }

/* YAPL
name: Featured Tiles - Homepage
partial: feature-tiles
context: feature-tiles.home
selector: .feature-tiles
*/
.feature-tiles {
  overflow: hidden;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 47.9375em) {
    .feature-tiles {
      box-shadow: none; } }

.feature-tile {
  color: #fefefe;
  position: relative; }
  .feature-tile .form--background .field--text {
    background: transparent;
    color: #fefefe; }
  .feature-tile .form-error {
    color: #fefefe; }
  .feature-tile .feature-tile__text {
    max-width: 100%; }
  .feature-tile:hover .feature-tile__icon, .feature-tile:focus .feature-tile__icon {
    background-color: #fefefe; }
  .feature-tile.feature-tile--magenta .feature-tile__content {
    background-color: #84126a; }
  .feature-tile.feature-tile--magenta:hover .feature-tile__content {
    background-color: #770f5d; }
  .feature-tile.feature-tile--magenta:hover .feature-tile__svg line, .feature-tile.feature-tile--magenta:focus .feature-tile__svg line {
    stroke: #770f5d; }
  .feature-tile.feature-tile--magenta:hover .feature-tile__svg path, .feature-tile.feature-tile--magenta:focus .feature-tile__svg path {
    fill: #770f5d; }
  .feature-tile.feature-tile--magenta .feature-tile__inner,
  .feature-tile.feature-tile--magenta .feature-tile__overlay {
    background-color: #770f5d; }
  [data-in-view] .feature-tile.feature-tile--magenta {
    -webkit-transform: translate(-100%, -100%);
        -ms-transform: translate(-100%, -100%);
            transform: translate(-100%, -100%); }
  .feature-tile.feature-tile--orange .feature-tile__content {
    background-color: #f8981d; }
  [data-in-view] .feature-tile.feature-tile--orange {
    -webkit-transform: translate(100%, -100%);
        -ms-transform: translate(100%, -100%);
            transform: translate(100%, -100%); }
  .feature-tile.feature-tile--orange .feature-tile__overlay {
    background-color: #c23c33; }
  .feature-tile.feature-tile--orange:hover .feature-tile__svg line,
  .feature-tile.feature-tile--orange:hover .feature-tile__svg path, .feature-tile.feature-tile--orange:focus .feature-tile__svg line,
  .feature-tile.feature-tile--orange:focus .feature-tile__svg path {
    fill: #d9541e; }
  .feature-tile.feature-tile--blue-dark .feature-tile__content {
    background-color: #005288; }
  .feature-tile.feature-tile--blue-dark:hover .feature-tile__content {
    background-color: #00477a; }
  .feature-tile.feature-tile--blue-dark:hover .feature-tile__svg line, .feature-tile.feature-tile--blue-dark:focus .feature-tile__svg line {
    stroke: #00477a; }
  .feature-tile.feature-tile--blue-dark:hover .feature-tile__svg path, .feature-tile.feature-tile--blue-dark:focus .feature-tile__svg path {
    fill: #00477a; }
  .feature-tile.feature-tile--blue-dark .feature-tile__inner,
  .feature-tile.feature-tile--blue-dark .feature-tile__overlay {
    background-color: #00477a; }
  [data-in-view] .feature-tile.feature-tile--blue-dark {
    -webkit-transform: translate(-100%, 100%);
        -ms-transform: translate(-100%, 100%);
            transform: translate(-100%, 100%); }
  .feature-tile.feature-tile--blue-light .feature-tile__content {
    background-color: #2b9fce; }
  .feature-tile.feature-tile--blue-light:hover .feature-tile__content {
    background-color: #2593c7; }
  .feature-tile.feature-tile--blue-light:hover .feature-tile__svg line, .feature-tile.feature-tile--blue-light:focus .feature-tile__svg line {
    stroke: #2593c7; }
  .feature-tile.feature-tile--blue-light:hover .feature-tile__svg path, .feature-tile.feature-tile--blue-light:focus .feature-tile__svg path {
    fill: #2593c7; }
  .feature-tile.feature-tile--blue-light .feature-tile__inner,
  .feature-tile.feature-tile--blue-light .feature-tile__overlay {
    background-color: #2593c7; }
  [data-in-view] .feature-tile.feature-tile--blue-light {
    -webkit-transform: translate(100%, 100%);
        -ms-transform: translate(100%, 100%);
            transform: translate(100%, 100%); }
  [data-in-view] .feature-tile {
    opacity: 0;
    pointer-events: none;
    transition: opacity .33s, background-color .25s, -webkit-transform 1s;
    transition: opacity .33s, background-color .25s, transform 1s;
    transition: opacity .33s, background-color .25s, transform 1s, -webkit-transform 1s; }
  .is-in-view .feature-tile {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  @media screen and (max-width: 47.9375em) {
    .feature-tile {
      margin-top: 1rem; }
      .feature-tile:first-child {
        margin-top: 0; } }

.feature-tile--link {
  color: #fefefe; }
  .feature-tile--link:hover, .feature-tile--link:focus {
    color: #fefefe; }

.feature-tile--hover .feature-tile__overlay {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  will-change: transform; }
  .feature-tile--hover .feature-tile__overlay p {
    font-size: 1.125rem;
    padding: 0 1.5rem;
    width: 100%; }
    @media screen and (min-width: 30em) and (max-width: 47.9375em) {
      .feature-tile--hover .feature-tile__overlay p {
        padding: 0 3rem; } }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .feature-tile--hover .feature-tile__overlay p {
        font-size: 1.125rem;
        padding: 0 1rem; } }
    @media screen and (min-width: 75em) {
      .feature-tile--hover .feature-tile__overlay p {
        font-size: 1.25rem;
        padding: 0 3rem; } }
  .feature-tile--hover .feature-tile__overlay .link--more {
    display: block; }
  .feature-tile--hover .feature-tile__overlay::before {
    background: #fefefe;
    content: '';
    display: block;
    height: 0.1875rem;
    margin: 0 auto 2rem;
    width: 20%; }

:not(.is-ie) .feature-tile--hover {
  -webkit-perspective: 1000;
          perspective: 1000;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }
  :not(.is-ie) .feature-tile--hover .feature-tile__inner {
    position: relative;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
  :not(.is-ie) .feature-tile--hover .feature-tile__content,
  :not(.is-ie) .feature-tile--hover .feature-tile__overlay {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    transition: .7s ease;
    width: 100%; }
  :not(.is-ie) .feature-tile--hover .feature-tile__content {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
    z-index: 3; }
  :not(.is-ie) .feature-tile--hover .feature-tile__overlay {
    -webkit-transform: rotateY(-180deg);
            transform: rotateY(-180deg);
    z-index: 1; }
  :not(.is-ie) .feature-tile--hover:hover .feature-tile__content, :not(.is-ie) .feature-tile--hover:focus .feature-tile__content {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg); }
  :not(.is-ie) .feature-tile--hover:hover .feature-tile__overlay, :not(.is-ie) .feature-tile--hover:focus .feature-tile__overlay {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg); }

.is-ie .feature-tile--hover .feature-tile__overlay {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
  transition: .7s ease;
  z-index: 2; }

.is-ie .feature-tile--hover:hover .feature-tile__overlay, .is-ie .feature-tile--hover:focus .feature-tile__overlay {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1); }

.feature-tile--flyout .feature-tile__content {
  cursor: pointer;
  position: absolute;
  width: 100%; }

@media screen and (min-width: 48em) {
  .feature-tile--flyout .feature-tile__overlay {
    width: 200%; } }

.feature-tile--flyout .feature-tile__overlay,
.feature-tile--flyout .feature-tile__content {
  transition: -webkit-transform .7s ease;
  transition: transform .7s ease;
  transition: transform .7s ease, -webkit-transform .7s ease;
  z-index: 3; }

.feature-tile--flyout .feature-tile__close {
  display: block; }

.feature-tile--flyout:nth-child(even) .feature-tile__overlay {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }
  @media screen and (max-width: 47.9375em) {
    .feature-tile--flyout:nth-child(even) .feature-tile__overlay {
      margin-left: 1rem; } }
  @media screen and (min-width: 48em) {
    .feature-tile--flyout:nth-child(even) .feature-tile__overlay {
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%); } }

.feature-tile--flyout:nth-child(odd) .feature-tile__overlay {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }
  @media screen and (max-width: 47.9375em) {
    .feature-tile--flyout:nth-child(odd) .feature-tile__overlay {
      margin-left: -1rem; } }

.is-expanded-1 .feature-tile--flyout:nth-child(1) {
  z-index: 4; }
  .is-expanded-1 .feature-tile--flyout:nth-child(1) .feature-tile__overlay {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%); }
    @media screen and (max-width: 47.9375em) {
      .is-expanded-1 .feature-tile--flyout:nth-child(1) .feature-tile__overlay {
        margin-left: 0; } }
    @media screen and (min-width: 48em) {
      .is-expanded-1 .feature-tile--flyout:nth-child(1) .feature-tile__overlay {
        -webkit-transform: translateX(0%);
            -ms-transform: translateX(0%);
                transform: translateX(0%); } }
  .is-expanded-1 .feature-tile--flyout:nth-child(1) .feature-tile__content {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
    @media screen and (min-width: 48em) {
      .is-expanded-1 .feature-tile--flyout:nth-child(1) .feature-tile__content {
        -webkit-transform: translateX(200%);
            -ms-transform: translateX(200%);
                transform: translateX(200%); } }
  @media screen and (min-width: 48em) {
    .is-expanded-1 .feature-tile--flyout:nth-child(1) + .feature-tile .feature-tile__content {
      -webkit-transform: translateX(200%);
          -ms-transform: translateX(200%);
              transform: translateX(200%); } }

.is-expanded-3 .feature-tile--flyout:nth-child(3) {
  z-index: 4; }
  .is-expanded-3 .feature-tile--flyout:nth-child(3) .feature-tile__overlay {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%); }
    @media screen and (max-width: 47.9375em) {
      .is-expanded-3 .feature-tile--flyout:nth-child(3) .feature-tile__overlay {
        margin-left: 0; } }
    @media screen and (min-width: 48em) {
      .is-expanded-3 .feature-tile--flyout:nth-child(3) .feature-tile__overlay {
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0); } }
  .is-expanded-3 .feature-tile--flyout:nth-child(3) .feature-tile__content {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
    @media screen and (min-width: 48em) {
      .is-expanded-3 .feature-tile--flyout:nth-child(3) .feature-tile__content {
        -webkit-transform: translateX(200%);
            -ms-transform: translateX(200%);
                transform: translateX(200%); } }
  @media screen and (min-width: 48em) {
    .is-expanded-3 .feature-tile--flyout:nth-child(3) + .feature-tile .feature-tile__content {
      -webkit-transform: translateX(200%);
          -ms-transform: translateX(200%);
              transform: translateX(200%); } }

.is-expanded-2 .feature-tile--flyout:nth-child(4) {
  z-index: 4; }
  .is-expanded-2 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%); }
    @media screen and (max-width: 47.9375em) {
      .is-expanded-2 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
        margin-left: 0; } }
    @media screen and (min-width: 48em) {
      .is-expanded-2 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%); } }
  .is-expanded-2 .feature-tile--flyout:nth-child(4) .feature-tile__content {
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
    @media screen and (min-width: 48em) {
      .is-expanded-2 .feature-tile--flyout:nth-child(4) .feature-tile__content {
        -webkit-transform: translateX(-200%);
            -ms-transform: translateX(-200%);
                transform: translateX(-200%); } }

@media screen and (min-width: 48em) {
  .is-expanded-2 .feature-tile--flyout:nth-child(1) .feature-tile__content {
    -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
            transform: translateX(-200%); } }

.is-expanded-4 .feature-tile--flyout:nth-child(4) {
  z-index: 4; }
  .is-expanded-4 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%); }
    @media screen and (max-width: 47.9375em) {
      .is-expanded-4 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
        margin-left: 0; } }
    @media screen and (min-width: 48em) {
      .is-expanded-4 .feature-tile--flyout:nth-child(4) .feature-tile__overlay {
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%); } }
  .is-expanded-4 .feature-tile--flyout:nth-child(4) .feature-tile__content {
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
    @media screen and (min-width: 48em) {
      .is-expanded-4 .feature-tile--flyout:nth-child(4) .feature-tile__content {
        -webkit-transform: translateX(-200%);
            -ms-transform: translateX(-200%);
                transform: translateX(-200%); } }

@media screen and (min-width: 48em) {
  .is-expanded-4 .feature-tile--flyout:nth-child(3) .feature-tile__content {
    -webkit-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
            transform: translateX(-200%); } }

.feature-tile__inner {
  height: 22.5rem; }

.feature-tile__content,
.feature-tile__overlay {
  padding: 1.875rem; }

.feature-tile__overlay input {
  background-color: transparent; }

.feature-tile__content {
  height: 100%;
  text-align: center;
  transition: opacity .25s ease; }

.feature-tile__overlay {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .feature-tile__overlay {
      height: 100%; } }

.feature-tile__image {
  height: auto;
  margin-bottom: 0.625rem;
  width: 6.25rem; }
  @media screen and (min-width: 48em) {
    .feature-tile__image {
      margin-bottom: 1.25rem; } }
  .feature-tile--blue-dark .feature-tile__image {
    margin-bottom: 0.3125rem;
    width: 7.5rem; }

.feature-tile__icon {
  background-size: 1rem auto;
  height: 2.875rem;
  transition: background-color .5s;
  width: 2.875rem; }

.feature-tile__svg line {
  stroke: #fefefe;
  stroke-linecap: round;
  stroke-width: 0.125rem;
  transition: stroke .2s; }

.feature-tile__svg path {
  fill: #fefefe;
  stroke: transparent;
  transition: fill .2s; }

.feature-tile__close {
  cursor: pointer;
  display: none;
  font-size: 1.5rem;
  height: 1rem;
  position: absolute;
  right: 0.375rem;
  top: 0.1875rem;
  width: 1rem; }
  .feature-tile__close .icon {
    height: 1rem;
    width: 1rem; }
  @media screen and (min-width: 48em) {
    .feature-tile__close {
      right: 1rem;
      top: 1rem; } }

/* YAPL
name: Featured Video
partial: sg-feature-video
selector: .feature-video
*/
.feature-video {
  width: 100%; }
  .feature-video h2 {
    width: 100%; }
  .feature-video .player {
    width: 100%; }
    .feature-video .player .plyr:not(.plyr--fullscreen-active) iframe {
      height: 18.75rem;
      min-height: 0; }
      @media screen and (min-width: 75em) {
        .feature-video .player .plyr:not(.plyr--fullscreen-active) iframe {
          height: 32.6875rem; } }
    .feature-video .player .plyr--fullscreen-active iframe {
      height: 100%; }

/* YAPL
name: Featured List Items
partial: sg-featured-list-items
context: featured-list-items.filterable-list
selector: .featured-list-items
*/
.featured-list-items {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 48em) {
    .featured-list-items {
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .featured-list-items a:not(button).link--orange {
    color: #d9541e;
    display: block; }
    .featured-list-items a:not(button).link--orange:hover, .featured-list-items a:not(button).link--orange:focus {
      color: #c23c33; }

.featured-list__item {
  display: block;
  padding: 40px;
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .featured-list__item {
      padding: 30px 25px; }
      .featured-list__item:first-of-type {
        margin-bottom: 4rem; } }
  @media print, screen and (min-width: 48em) {
    .featured-list__item {
      -webkit-flex: 0 0 46%;
          -ms-flex: 0 0 46%;
              flex: 0 0 46%; }
      .is-ie .featured-list__item {
        -webkit-flex: 0 0 36%;
            -ms-flex: 0 0 36%;
                flex: 0 0 36%; } }
  @media print, screen and (min-width: 64em) {
    .is-ie .featured-list__item {
      -webkit-flex: 0 0 39%;
          -ms-flex: 0 0 39%;
              flex: 0 0 39%; } }
  .featured-list__item img {
    opacity: 1;
    transition: .6s ease;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform; }
  .featured-list__item:hover img, .featured-list__item:focus img {
    opacity: .85;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.featured-list__item-image-container {
  background-color: #d9541e;
  overflow: hidden; }

.featured-list__item-tag {
  font-size: 1.375rem;
  height: 40px;
  left: -13px;
  line-height: 1;
  padding: 8px 15px 8px 13px;
  position: absolute;
  top: -20px; }
  .featured-list__item-tag h3 {
    font-size: 1.375rem; }
  .featured-list__item-tag::before, .featured-list__item-tag::after {
    content: '';
    display: block;
    position: absolute; }
  .featured-list__item-tag::before {
    background-image: url("../img/tag-corner.png");
    background-repeat: no-repeat;
    background-size: contain;
    height: 10px;
    left: 0;
    top: 100%;
    width: 13px; }
  .featured-list__item-tag::after {
    content: '';
    height: 0;
    position: absolute;
    -webkit-transform: scale(0.9999);
        -ms-transform: scale(0.9999);
            transform: scale(0.9999);
    width: 0;
    border-bottom: 20px solid transparent;
    border-left: 10px solid #d9541e;
    border-top: 20px solid transparent;
    left: 100%;
    top: 0; }
  @media print, screen and (min-width: 48em) {
    .featured-list__item-tag {
      height: 60px;
      padding: 14px 15px 14px 18px;
      padding-left: 25px;
      top: -30px; }
      .featured-list__item-tag h3 {
        font-size: 1.75rem; }
      .featured-list__item-tag::after {
        content: '';
        height: 0;
        position: absolute;
        -webkit-transform: scale(0.9999);
            -ms-transform: scale(0.9999);
                transform: scale(0.9999);
        width: 0;
        border-bottom: 30px solid transparent;
        border-left: 15px solid #d9541e;
        border-top: 30px solid transparent; } }

/* YAPL
name: Featured Pages
partial: featured-pages
context: featured-pages.secondary-landing
selector: .featured-pages
*/
.featured-pages__page-container .button {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center;
  color: #fefefe;
  margin-top: auto;
  opacity: 0;
  -webkit-transform: translateX(-30%);
      -ms-transform: translateX(-30%);
          transform: translateX(-30%);
  transition: .8s ease;
  transition-property: color, background-color, border-color, opacity, -webkit-transform;
  transition-property: color, background-color, border-color, transform, opacity;
  transition-property: color, background-color, border-color, transform, opacity, -webkit-transform; }
  .featured-pages__page-container .button.is-in-view {
    opacity: 1;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }

.featured-pages__text-container {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 350px;
  padding: 1.5625rem;
  position: relative; }
  @media print, screen and (min-width: 30em) {
    .featured-pages__text-container {
      padding: 3.125rem 3.4375rem 2.5rem; } }
  @media print, screen and (min-width: 48em) {
    .featured-pages__text-container {
      min-height: 430px;
      padding: 1.875rem 1.5625rem 1.5625rem; }
      .featured-pages__text-container::after {
        border-bottom: 2.5rem solid transparent;
        border-top: 2.5rem solid transparent;
        content: '';
        height: 0;
        position: absolute;
        right: -20px;
        top: calc(50% - 40px);
        width: 0; }
      .featured-pages__text-container.background--orange-dark::after {
        border-left: 1.25rem solid #d9541e; }
      .featured-pages__text-container.background--magenta-dark::after {
        border-left: 1.25rem solid #84126a; }
      .featured-pages__text-container.background--green-mid::after {
        border-left: 1.25rem solid #00704a; }
      .featured-pages__text-container.background--red-brick::after {
        border-left: 1.25rem solid #c23c33; }
      .featured-pages__text-container.background--blue-dark::after {
        border-left: 1.25rem solid #005288; } }
  @media screen and (min-width: 75em) {
    .featured-pages__text-container {
      padding: 3.125rem 3.4375rem 2.5rem; } }
  .featured-pages__text-container p {
    font-size: 1.125rem;
    margin-bottom: 1rem; }

.featured-pages__page-image {
  background-position: center left;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 350px; }

@media print, screen and (min-width: 48em) {
  .featured-pages__page-container:nth-child(odd) .featured-pages__text-container {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    .featured-pages__page-container:nth-child(odd) .featured-pages__text-container::after {
      left: -20px;
      right: auto;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .featured-pages__page-container:nth-child(odd) .featured-pages__page-image {
    background-position: center right; }
  .featured-pages__page-container:nth-child(odd) .button {
    -webkit-transform: translateX(30%);
        -ms-transform: translateX(30%);
            transform: translateX(30%); }
    .featured-pages__page-container:nth-child(odd) .button.is-in-view {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); } }

/* YAPL
name: Featured Quote
partial: featured-quote
context: featured-quotes.secondary-landing
selector: .featured-quote
*/
.featured-quote {
  opacity: 0;
  -webkit-transform: translateY(25%);
      -ms-transform: translateY(25%);
          transform: translateY(25%);
  transition: 1s ease;
  transition-delay: .1s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  .featured-quote.is-in-view {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .featured-quote::before {
    content: '';
    display: block;
    height: 0.375rem;
    margin: 0 auto;
    width: 4.375rem; }
  .featured-quote.featured-quote--magenta-dark::before {
    background-color: #84126a; }

.featured-quote__text {
  font-size: 1.875rem; }
  @media print, screen and (min-width: 48em) {
    .featured-quote__text {
      font-size: 2.125rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-quote__text {
      font-size: 2.25rem; } }

/* YAPL
name: Filters
partial: sg-filters
selector: .filters
*/
.filters {
  position: relative; }

.filters__overlay {
  background-color: rgba(37, 37, 37, 0.7);
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity .4s ease;
  visibility: hidden;
  width: 100%;
  z-index: 4; }
  @media screen and (max-width: 47.9375em) {
    .filters__overlay.is-visible {
      opacity: 1;
      visibility: visible; } }

.filters-top-controls {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media print, screen and (min-width: 48em) {
    .filters-top-controls {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.filters-status-container {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0; }

.filters__mobile-open {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #15a089;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  height: 35px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5px 10px;
  text-transform: none; }
  .filters__mobile-open:hover, .filters__mobile-open:focus {
    background-color: #107c6a; }

.filters__sort-by {
  cursor: pointer;
  margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .filters__sort-by {
      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%2821, 160, 137%29"></polygon></svg>');
      background-position: calc(100% + 10px) center;
      border: 2px solid #15a089;
      color: #15a089;
      font-size: 1rem;
      height: 35px;
      padding: 5px 15px; }
      .filters__sort-by:focus {
        border: 2px solid #15a089; } }
  @media print, screen and (min-width: 48em) {
    .filters__sort-by {
      margin-bottom: 2rem; } }

.filters--search-page {
  position: relative; }

@media screen and (max-width: 47.9375em) {
  .filters__groups-container {
    background-color: transparent;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    min-height: 390px;
    position: absolute;
    right: -100%;
    top: 0;
    transition: .5s ease;
    transition-property: right, background-color;
    width: calc(100% + 1.25rem);
    z-index: 7; }
    .filters--search-page .filters__groups-container {
      top: 33px; }
    .filters__groups-container.is-showing {
      height: auto;
      right: 0; }
    .filters__groups-container .mCSB_inside > .mCSB_container {
      margin-right: 15px;
      transition: margin-right .3s ease; } }

@media print, screen and (min-width: 48em) {
  .filters__groups-container {
    width: 100%; }
    .filters__groups-container.row {
      margin: 0; } }

.filters__filter-groups {
  background-color: #fefefe;
  max-height: 100%;
  transition: background-color .5s ease; }
  @media screen and (max-width: 47.9375em) {
    .filters__filter-groups {
      border-bottom: 1px solid #d2d2d2;
      -webkit-flex: 0 0 80%;
          -ms-flex: 0 0 80%;
              flex: 0 0 80%;
      width: 80%; } }
  @media print, screen and (min-width: 48em) {
    .filters__filter-groups {
      margin-bottom: 2rem;
      overflow-y: visible; }
      .filters__filter-groups > .mCustomScrollBox {
        overflow: visible; }
        .filters__filter-groups > .mCustomScrollBox > .mCSB_container {
          overflow: visible; } }

@media print, screen and (min-width: 48em) {
  .filters__group ~ .filters__group {
    margin-top: 2rem; } }

.filters__close {
  display: block;
  height: 14px;
  left: calc(10% - 7px);
  position: absolute;
  top: 20px;
  width: 14px; }
  .filters__close .icon {
    display: inline-block;
    height: 14px;
    width: 14px; }

@media screen and (max-width: 47.9375em) {
  .filters__group {
    border-top: 1px solid #d2d2d2; }
    .filters__group:first-of-type {
      border-top: 0; }
    .filters__group:last-of-type {
      border-bottom: 1px solid #d2d2d2;
      transition: border .3s ease; }
      .filters__group:last-of-type.is-open {
        border-bottom: 1px solid transparent; }
    .filters__group.is-open .filters__group-header::after {
      content: '\f068'; }
    .filters__group .filters__group-header--inner {
      -webkit-align-items: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      background-color: #fefefe;
      color: #252525;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .filters__group .filters__group-header--inner::after {
        content: '\f067';
        display: inline-block;
        font-family: "FontAwesome";
        font-size: 0.75rem;
        height: 12px;
        width: 12px; } }

.filters__group-header, .filters__group-header-checkbox {
  padding: 14px 14px 14px 30px;
  background-color: #15a089;
  color: #fefefe; }
  .filters__group-header:focus, .filters__group-header-checkbox:focus {
    outline: none; }

.has_checkbox {
  padding: 0px; }

.filters__group-header-checkbox {
  background-color: #fefefe !important; }

.filters__group-container {
  max-height: 280px;
  overflow-y: auto;
  transition: padding .5s ease; }
  @media print, screen and (min-width: 48em) {
    .filters__group-container {
      margin: 24px 0; } }
  .filters--search-page .filters__group-container {
    max-height: none; }
  .filters__group-container .mCSB_inside > .mCSB_container {
    margin-right: 15px; }

.filters__group-items {
  max-height: 1000px;
  padding: 0 14px 0 30px; }
  @media screen and (max-width: 47.9375em) {
    .filters__group-items {
      max-height: 0;
      padding: 0 14px 0 30px;
      transition: .5s ease, .7s ease;
      transition-property: max-height, padding; }
      .is-open .filters__group-items {
        max-height: 1000px;
        padding: 14px 14px 14px 30px; } }

.filters__group-item:first-of-type .filters__item-label {
  padding-top: 0; }

.filters__group-item:last-of-type .filters__item-label {
  padding-bottom: 0; }

.filters__item-label {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  line-height: 1.2;
  padding: 8px 0;
  position: relative;
  transition: color .3s ease; }
  .filters__item-label:focus {
    color: #15a089;
    outline: none; }
    .filters__item-label:focus .filters__item-checkbox-img {
      border-color: #15a089; }

.filters__item-checkbox {
  border: 0;
  clip: rect(0 0 0 0);
  height: 25px;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  visibility: hidden;
  width: 25px; }
  .filters__item-checkbox:checked + .filters__item-checkbox-img {
    background-color: #15a089;
    border-color: #d2d2d2; }

.filters__item-checkbox-img {
  background-color: #fefefe;
  border: 1px solid #d2d2d2;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: 25px;
  margin-right: 15px;
  transition: .3s ease;
  transition-property: border, background-color;
  width: 25px; }

.checkbox-summer {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 500;
  margin: 0px;
  padding: 0px; }

.filters__item-label {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  line-height: 1.2;
  padding: 8px 0;
  position: relative;
  transition: color .3s ease; }

.filters__item-label:focus {
  color: #15a089;
  outline: none; }

.filters__item-label:focus .filters__item-checkbox-img {
  border-color: #15a089; }

/* YAPL
name: Footer
partial: footer
selector: .footer
*/
.footer-utility-links .divider {
  color: #fefefe;
  margin: 0 .4rem 0 .6rem; }

@media screen and (max-width: 29.9375em) {
  .footer-utility-links .divider:last-of-type {
    display: none; }
  .footer-utility-links .link:last-of-type {
    display: block;
    margin-top: .3rem; } }

[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.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(37, 37, 37, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  color: #252525;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    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: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #8f8f8f;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

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: #252525; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #252525; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 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 #cacaca;
  background: #8f8f8f;
  color: #252525;
  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.5rem; }

.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.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.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 #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem;
    background: #fefefe; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #252525;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  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/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #8f8f8f;
    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: #f9ecea; }
  .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; }

.required-asterisk {
  color: #cc4b37;
  font-size: 1.2em;
  margin-left: 0.125rem;
  margin-right: 0.125rem;
  top: -.1em; }

.form {
  font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif; }
  .form .alert {
    color: #cc4b37;
    font-size: 0.875rem;
    line-height: 1.3; }
  .form .field {
    background: #fefefe;
    color: #252525;
    font-size: 1rem;
    font-weight: 500;
    position: relative;
    transition: .25s; }
    @media screen and (max-width: 47.9375em) {
      .form .field {
        margin-top: .5rem; } }
    .form .field.field--not-empty.field--text .floating-label, .form .field.field--not-empty.field--textarea .floating-label, .form .field.field--focused.field--text .floating-label, .form .field.field--focused.field--textarea .floating-label, .form .field.is-filled-label.field--text .floating-label, .form .field.is-filled-label.field--textarea .floating-label {
      font-size: 0.625rem;
      top: -0.625rem;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
      .form .field.field--not-empty.field--text .floating-label .required-asterisk, .form .field.field--not-empty.field--textarea .floating-label .required-asterisk, .form .field.field--focused.field--text .floating-label .required-asterisk, .form .field.field--focused.field--textarea .floating-label .required-asterisk, .form .field.is-filled-label.field--text .floating-label .required-asterisk, .form .field.is-filled-label.field--textarea .floating-label .required-asterisk {
        font-size: 0.5rem;
        top: 0; }
  .form .select-wrap__icon {
    position: relative; }
    .form .select-wrap__icon .select__arrow {
      height: 0.6875rem;
      position: absolute;
      right: 10px;
      top: 17px;
      width: 0.5rem;
      z-index: 2; }
  .form select,
  .form input,
  .form textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    margin: 0; }
    .form select:hover, .form select:focus, .form select:not(:focus),
    .form input:hover,
    .form input:focus,
    .form input:not(:focus),
    .form textarea:hover,
    .form textarea:focus,
    .form textarea:not(:focus) {
      border: 0;
      box-shadow: none;
      color: inherit;
      outline: 0; }
  .form input[type='text'], .form input[type='email'], .form input[type='number'], .form input[type='password'] {
    font-size: 1.25rem;
    overflow: hidden;
    padding: 0.625rem 0.5rem 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%; }
  .form input[type='number'] {
    -moz-appearance: textfield; }
    .form input[type='number']::-webkit-inner-spin-button, .form input[type='number']::-webkit-outer-spin-button {
      -webkit-appearance: none;
              appearance: none;
      margin: 0; }
  .form input[type='radio'], .form input[type='checkbox'] {
    background: linear-gradient(rgba(37, 37, 37, 0.2), rgba(254, 254, 254, 0.2));
    border: 0.0625rem solid #b3b3b3;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    height: 1.25rem;
    margin: 0;
    position: relative;
    vertical-align: middle;
    width: 1.25rem; }
    .form input[type='radio'] + label, .form input[type='checkbox'] + label {
      font-size: 0.75rem;
      font-weight: 400;
      margin: 0;
      padding: 0 0 0 .5rem; }
    .form input[type='radio'].is-invalid-input, .form input[type='checkbox'].is-invalid-input {
      border-color: #cc4b37; }
    .form input[type='radio']:hover, .form input[type='radio']:checked, .form input[type='checkbox']:hover, .form input[type='checkbox']:checked {
      border-color: #1779ba; }
    .form input[type='radio']:checked, .form input[type='checkbox']:checked {
      background: linear-gradient(rgba(37, 37, 37, 0.2), rgba(254, 254, 254, 0.2)); }
      .form input[type='radio']:checked::after, .form input[type='checkbox']:checked::after {
        background: #1779ba;
        border-radius: 50%;
        content: '';
        display: block;
        height: 0.375rem;
        left: 50%;
        position: absolute;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        width: 0.375rem; }
  .form input[type='checkbox'] {
    border-radius: 0.1875rem;
    height: 1rem;
    width: 1rem; }
    .form input[type='checkbox'] + label {
      position: relative;
      top: .2em; }
    .form input[type='checkbox']:checked::after {
      border-radius: 0.1875rem;
      height: 0.5rem;
      width: 0.5rem; }
  .form input[type='submit'] {
    background: #1779ba;
    color: #fefefe;
    font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    padding: 0.5rem 1.25rem;
    width: 12.5rem; }
  .form input.input--no-border {
    border: 0;
    box-shadow: 0 0 0 #fefefe; }
  .form textarea {
    height: 10.9375rem;
    padding-top: .75em;
    resize: none; }
  .form .field--typeahead,
  .form .select-wrap {
    position: relative; }
    .form .field--typeahead > .icon,
    .form .select-wrap > .icon {
      bottom: 0;
      line-height: 1;
      pointer-events: none;
      position: absolute;
      right: 0.375rem; }
  .form .select-wrap > .icon {
    transition: color .25s;
    will-change: color; }
  .form .select-wrap:hover > .icon, .form .select-wrap:focus > .icon {
    color: #115b8c; }
  .form .floating-label {
    display: inline-block;
    font-size: inherit;
    font-weight: 400;
    left: 0;
    line-height: 1.3;
    padding: 0.625rem 0.5rem 0;
    pointer-events: none;
    position: absolute;
    top: 35%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    transition: .15s; }
  .form .form-error {
    left: 0;
    margin: 0;
    padding: .25rem 0;
    position: absolute;
    top: 100%;
    -webkit-transform: translateY(-0.375rem);
        -ms-transform: translateY(-0.375rem);
            transform: translateY(-0.375rem);
    white-space: nowrap;
    font-weight: 500;
    margin-top: 3px; }
    .feature-tile__overlay .form .form-error {
      margin-top: 6px; }
  .form .form__errors,
  .form .form-error {
    color: #fefefe; }
  .form .form-error,
  .form .form__errors {
    font-size: 0.75rem; }
  .form .form__errors {
    margin-bottom: 0.5rem; }
    .form .form__errors .icon {
      margin-right: 1px;
      vertical-align: top; }
  .form .help-text-wrap {
    position: relative; }
    .form .help-text-wrap .help-text {
      position: absolute; }
  .form .help-text {
    font-size: 0.875rem;
    line-height: 1.3;
    margin: .5rem 0 0;
    padding-bottom: 1rem;
    width: 100%; }
    .form .help-text p {
      line-height: 1.3; }
      .form .help-text p:only-child, .form .help-text p:first-child {
        margin-bottom: 0; }
  .form .field--text,
  .form .column.align-self-bottom > .form__button,
  .form .align-self-bottom.columns > .form__button {
    margin-bottom: 1.5rem; }
  
  .form .column.align-self-bottom > .form__button,
  .form .align-self-bottom.columns > .form__button {
    height: 39px;
    margin-left: 1rem; }
  .form .input-group {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    position: relative;
    margin-bottom: 0; }
    .feature-tile .form .input-group {
      margin-bottom: 1rem; }
    .form .input-group > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
      margin-bottom: 0; }
      @media print, screen and (min-width: 48em) {
        .form .input-group > * {
          margin-left: 1rem; }
          .form .input-group > *:first-child {
            margin-left: 0; }
          .form .input-group > *.form__button {
            -webkit-flex-shrink: 0;
                -ms-flex-negative: 0;
                    flex-shrink: 0; } }
    .form .input-group select {
      border-radius: 0 10px 10px 0;
      margin-left: -10px;
      min-width: 110px;
      position: relative; }
    @media screen and (max-width: 47.9375em) {
      .form .input-group {
        -webkit-flex-flow: column wrap;
            -ms-flex-flow: column wrap;
                flex-flow: column wrap; }
        .form .input-group .form__button {
          margin-top: .5rem; } }

.form--background .field--text {
  background: transparent;
  border-bottom: 0.125rem solid #fefefe;
  color: inherit; }
  .form--background .field--text input[type='text'], .form--background .field--text input[type='email'], .form--background .field--text input[type='number'], .form--background .field--text input[type='password'] {
    font-size: 1.25rem;
    padding: 0.625rem 0.5rem 0; }
  .form--background .field--text::before, .form--background .field--text::after {
    background: #fefefe;
    bottom: 0;
    content: '';
    display: block;
    height: 0.5rem;
    position: absolute;
    width: 0.125rem; }
  .form--background .field--text::before {
    left: 0; }
  .form--background .field--text::after {
    right: 0; }

.form--background .floating-label {
  bottom: 60%;
  line-height: 1.1em;
  margin-bottom: 0.125rem;
  padding: 0.625rem 0.5rem 0;
  top: auto;
  -webkit-transform: translateY(50%);
      -ms-transform: translateY(50%);
          transform: translateY(50%); }

.form__errors {
  margin-bottom: 1rem; }

@media print, screen and (min-width: 64em) {
  .feature-tile .field--text {
    font-size: 0.875rem; } }

/* YAPL
name: Gated Content Landing - Non-Authenticated
partial: gated-landing
context: gated-landing.not-authenticated
*/
/* YAPL
name: Gated Content Landing - Non-Member
partial: gated-landing
context: gated-landing.not-member
*/
/* YAPL
name: Gated Content Landing - Media Non-Authenticated
partial: gated-landing
context: gated-landing.media-not-authenticated
*/
/* YAPL
name: Gated Content Landing - Media Non-Approved
partial: gated-landing
context: gated-landing.media-not-approved
*/
/* YAPL
name: Gated Content Landing - Anonymous
partial: gated-landing
context: gated-landing.anonymous
*/
.gated-landing .gated-landing__lock {
  height: 9.375rem;
  max-width: 4.0625rem; }

.gated-landing .gated-landing__block {
  padding: 2.5rem 1.5625rem;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .gated-landing .gated-landing__block {
      padding: 4.0625rem 4.375rem; } }
  .gated-landing .gated-landing__block .button {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 350px;
    text-align: center;
    width: 85%; }
    @media print, screen and (min-width: 48em) {
      .gated-landing .gated-landing__block .button {
        width: 60%; } }

.gated-landing .gated-landing__block-title {
  line-height: 1.2; }

.gated-landing .gated-landing__list {
  padding-left: 1.875rem; }
  .gated-landing .gated-landing__list li {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.4; }
    .gated-landing .gated-landing__list li::before {
      background-color: #fefefe;
      border-radius: 50%;
      content: '';
      display: block;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      height: 0.5rem;
      margin-right: 1.125rem;
      position: relative;
      top: 0.4375rem;
      width: 0.5rem; }

/* YAPL
name: Header
partial: sg-header
selector: .header
*/
.header {
  background-color: #fefefe;
  box-shadow: 0 0 1.5625rem 0.3125rem rgba(37, 37, 37, 0.15);
  left: 0;
  position: fixed;
  top: 0;
  transition: .3s ease;
  width: 100%;
  z-index: 8; }
  .header .is-drilldown {
    max-width: none !important;
    min-height: 0 !important; }

.header__top,
.header__bottom {
  padding-bottom: 1rem;
  padding-top: 1rem; }

.header__top {
  padding-bottom: .5rem; }

.header__logo {
  display: block;
  height: 4.25rem;
  transition: .3s ease;
  transition-property: height, width;
  width: auto;
  will-change: height, width; }

@media screen and (max-width: 63.9375em) {
  .header__logo {
    height: 3.125rem; }
  .header__top {
    border-bottom: 0.0625rem solid #b3b3b3;
    padding-bottom: 0;
    padding-top: 0; }
  .header__bottom {
    padding-bottom: 0.5rem;
    padding-top: 0.5rem; } }

@media screen and (min-width: 64em) {
  .header:not(.campaign-header).is-sticky .header__logo {
    height: 3.125rem; }
  .header:not(.campaign-header).is-sticky .header-utilities__wrap {
    display: none; }
  .header:not(.campaign-header).is-sticky .header__bottom {
    padding-bottom: 1rem; }
  .header:not(.campaign-header).is-sticky .header-nav__wrap {
    margin-top: 0; }
  .header:not(.campaign-header).is-sticky .header-search__close {
    height: 5.125rem; }
  .header__top {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .header__bottom {
    padding-bottom: 2rem;
    transition: padding-bottom .3s;
    will-change: padding-bottom; }
  .header-nav__wrap {
    margin-top: 2rem;
    transition: margin-top .3s;
    will-change: margin-top; } }

.header-feature {
  font-size: 1rem; }
  .header-feature > .row {
    margin-left: auto;
    margin-right: auto;
    max-width: 80rem !important;
    position: relative;
    z-index: 2; }
  .header-feature::before, .header-feature::after {
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 50%; }
  .header-feature::before {
    left: 0; }
  .header-feature::after {
    right: 0; }
  .header-feature .link--more .icon.fa {
    left: 0.1875rem;
    top: .1em; }
  .header-feature .link--more:hover .icon.fa, .header-feature .link--more:focus .icon.fa {
    left: 0.5rem; }

@media print, screen and (min-width: 64em) {
  .header-feature__background--1 {
    -webkit-flex: 0 0 22%;
        -ms-flex: 0 0 22%;
            flex: 0 0 22%;
    max-width: 22%; } }

.header-feature--orange {
  color: #fefefe; }
  .header-feature--orange .header-feature__title .link {
    color: #fefefe; }
    .header-feature--orange .header-feature__title .link:hover {
      color: #c23c33; }
  .header-feature--orange a:hover {
    color: #f9ad4a; }
  .header-feature--orange .header-feature__background--1, .header-feature--orange::before {
    background: #f8981d; }
  .header-feature--orange .header-feature__background--2, .header-feature--orange::after {
    background: #d9541e; }

.header-feature__background {
  padding-bottom: 2rem;
  padding-top: 2rem; }

.header-feature__title {
  display: inline-block;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  top: -0.25rem; }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    .header-feature__title {
      font-size: 1.5625rem; } }

.header-feature__menu {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 0 1rem; }

.header-feature__item {
  font-weight: 500;
  line-height: 1.33;
  margin-top: 0.5rem; }
  .header-feature__item:first-child {
    margin-top: 0; }

.logout-dropdown {
  position: relative;
  display: inline-block; }

.logout-dropdown-content {
  background: #d9541e;
  display: none;
  left: 0;
  position: absolute;
  margin-top: 0.75rem;
  width: 100%; }

.logout-dropdown-content a {
  color: #fefefe;
  padding: 12px 16px;
  text-decoration: none;
  display: block; }

.logout-dropdown-content:hover {
  color: #f9ad4a; }

.logout-dropdown-content::before {
  border-bottom: 0.75rem solid #d9541e;
  border-left: 1.6875rem solid transparent;
  border-right: 1.6875rem solid transparent;
  content: '';
  height: 0;
  left: 45%;
  top: -0.75rem;
  position: absolute;
  -webkit-transform: translateX(-50%) scale(0.999);
  -ms-transform: translateX(-50%) scale(0.999);
  transform: translateX(-50%) scale(0.999);
  width: 0; }

.logout-dropdown:hover .logout-dropdown-content {
  display: block; }

@media screen and (max-width: 63.9375em) {
  .header-nav {
    box-shadow: 0 0.5rem 1.5rem 0 rgba(37, 37, 37, 0.15); }
  .header-nav__wrap {
    position: absolute;
    top: 100%;
    width: 100%; }
    .is-header-nav-open .header-nav__wrap {
      display: block !important; }
  .header-nav__menu,
  .header-nav__submenu {
    background: #fefefe;
    line-height: 1.2;
    padding-bottom: 1rem;
    padding-top: 1.5rem; }
  .header-nav__menu,
  .header-nav__submenu {
    box-shadow: inset 0 1rem 2rem -0.5rem rgba(37, 37, 37, 0.1); }
  .header-nav__item,
  .header-nav__subitem {
    padding-left: 1rem;
    padding-right: 1rem; }
    .header-nav__item:first-child,
    .header-nav__subitem:first-child {
      margin-top: 0; }
  .header-nav__item {
    margin-top: 1rem; }
    .header-nav__item:hover > .header-nav__link, .header-nav__item.is-current > .header-nav__link {
      color: #d9541e; }
    .header-nav__item:not(.header-nav__item--utility) + .header-nav__item--utility {
      border-top: 0.0625rem solid #b3b3b3;
      margin-top: 1rem;
      padding-top: 0.5rem; }
    .header-nav__item > .header-nav__link {
      font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 500;
      text-transform: uppercase; }
  .header-nav__item--utility {
    margin-top: 0.5rem; }
    .header-nav__item--utility > .header-nav__link {
      font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.75rem; }
  .header-nav__submenu {
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease; }
    .header-nav__submenu > li:first-child {
      line-height: 1;
      padding-left: 1rem;
      padding-right: 1rem; }
      .header-nav__submenu > li:first-child > a {
        letter-spacing: 0.06em;
        color: #666;
        display: inline-block;
        font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
        font-size: 0.6875rem;
        text-transform: uppercase; }
        .header-nav__submenu > li:first-child > a::before {
          border: 0;
          content: '\f104';
          font-family: "FontAwesome";
          margin-right: 10px;
          vertical-align: top; }
  .header-nav__subtitle {
    font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase; }
  .header-nav__subitem {
    margin-top: 0.66667rem;
    padding-left: 2rem; }
    .header-nav__subitem > .header-nav__link {
      font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.875rem;
      font-weight: 500; }
  .header-nav__subitem--subtitle {
    margin-top: 1rem;
    padding-left: 1rem; }
  .header-nav__link::after {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .header-nav__menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
  .header:not(.campaign-header) .header-nav__item {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-left: 2rem; }
    .header:not(.campaign-header) .header-nav__item:hover .header-nav__link, .header:not(.campaign-header) .header-nav__item.is-active .header-nav__link, .header:not(.campaign-header) .header-nav__item.is-current .header-nav__link {
      color: #d9541e; }
    .header:not(.campaign-header) .header-nav__item:first-child {
      margin-left: 0; }
    .header:not(.campaign-header) .header-nav__item .header-nav__link::after {
      content: '';
      pointer-events: none;
      -webkit-transform: scale(0.999) translate(-50%, 2rem);
          -ms-transform: scale(0.999) translate(-50%, 2rem);
              transform: scale(0.999) translate(-50%, 2rem);
      transition: -webkit-transform .3s ease;
      transition: transform .3s ease;
      transition: transform .3s ease, -webkit-transform .3s ease; }
    .header:not(.campaign-header) .header-nav__item.is-active .header-nav__submenu {
      display: block; }
    .header:not(.campaign-header) .header-nav__item.is-active .header-nav__link::after {
      border-bottom: 0.75rem solid #d9541e;
      border-left: 1.6875rem solid transparent;
      border-right: 1.6875rem solid transparent;
      content: '';
      height: 0;
      left: 50%;
      position: absolute;
      top: 13px;
      -webkit-transform: translate(-50%, 1rem);
          -ms-transform: translate(-50%, 1rem);
              transform: translate(-50%, 1rem);
      width: 0; }
  .header.is-sticky .header-nav__item.is-active .header-nav__link::after {
    top: 18px; }
  .header-nav__link {
    letter-spacing: 0.06em;
    display: inline-block;
    font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1;
    padding-bottom: .5rem;
    position: relative;
    text-transform: uppercase;
    z-index: 2; }
  .header-nav__submenu {
    background: #fefefe;
    box-shadow: 0 0 1.5625rem 0.3125rem rgba(37, 37, 37, 0.15);
    display: none;
    left: 0;
    position: absolute;
    top: 100%;
    width: 100%; } }

.header-search__flyout {
  background-color: rgba(37, 37, 37, 0.4);
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9; }
  .is-header-search-open .header-search__flyout {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }

.header-search__toggle,
.header-search__close {
  width: 3.125rem; }

.header-search__toggle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #d9541e;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  height: 3.125rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  top: 0;
  transition: background-color .25s; }
  .header-search__toggle .icon {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    height: 1.125rem;
    width: 1.125rem; }
  .header-search__toggle:hover, .header-search__toggle:focus {
    background: #a00f36; }

.header-search__toggle--small {
  height: 2.5rem;
  width: 2.5rem; }
  .header-search__toggle--small .icon {
    height: 1rem;
    width: 1rem; }

.header-search__close {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fefefe;
  box-shadow: 0 -1.875rem 2.375rem 0.3125rem rgba(4, 2, 0, 0.2);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  height: 2.5rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem; }
  .header-search__close .icon {
    height: 1rem;
    width: 1rem; }

.header-search__form {
  background: #fefefe;
  padding-bottom: 1rem;
  padding-top: 1rem;
  transition: box-shadow .3s ease;
  will-change: box-shadow; }
  .header-search__form .field.field--text {
    font-size: 1.625rem;
    margin: 0;
    padding-right: 2.5rem; }
    .header-search__form .field.field--text input,
    .header-search__form .field.field--text .floating-label {
      padding-left: 0; }
    .header-search__form .field.field--text input {
      border-bottom: 0.0625rem solid #b3b3b3; }
    .header-search__form .field.field--text.is-filled-label .floating-label {
      font-size: 0.75rem;
      top: -0.75rem; }
    .header-search__form .field.field--text .label-text {
      color: #b3b3b3; }

.header-search__icon {
  height: 1.5rem;
  position: relative;
  right: -0.66667rem;
  width: 1.5rem; }

@media screen and (min-width: 64em) {
  .header-search__close {
    height: 7.25rem;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 1rem;
    transition: height .3s ease;
    width: 3.125rem; }
    .is-sticky .header-search__close {
      height: 5.125rem; }
  .header-search__form {
    padding-bottom: 2rem;
    padding-top: 2rem; }
    .header-search__form .field.field--text {
      font-size: 2rem;
      padding-right: 3.125rem; }
      .header-search__form .field.field--text.field--focused .floating-label, .header-search__form .field.field--text.is-filled-label .floating-label {
        font-size: 0.875rem;
        top: -0.875rem; }
  .header-search__icon {
    height: 1.5625rem;
    right: -1rem;
    width: 1.5625rem; } }

.header-toggle {
  cursor: pointer;
  display: block;
  text-align: center;
  width: 34px; }

.header-toggle__svg {
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  will-change: transform; }
  .is-header-nav-open .header-toggle__svg {
    -webkit-transform: translateX(25%);
        -ms-transform: translateX(25%);
            transform: translateX(25%); }

.header-toggle__line {
  stroke: #252525;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
          transform-origin: left bottom;
  transition: stroke 0.2s, -webkit-transform 0.2s;
  transition: stroke 0.2s, transform 0.2s;
  transition: stroke 0.2s, transform 0.2s, -webkit-transform 0.2s;
  will-change: stroke, transform; }
  .is-firefox .header-toggle__line,
  .is-iOS-11 .header-toggle__line {
    -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
            transform-origin: left bottom; }
  .is-iOS:not(.is-iOS-11) .header-toggle__line {
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left; }
  .is-header-nav-open .header-toggle__line {
    stroke: #d9541e; }
    .is-header-nav-open .header-toggle__line:nth-child(1) {
      -webkit-transform: rotate(45deg) scale(0.75) translateX(-70%);
          -ms-transform: rotate(45deg) scale(0.75) translateX(-70%);
              transform: rotate(45deg) scale(0.75) translateX(-70%); }
      .is-firefox .is-header-nav-open .header-toggle__line:nth-child(1),
      .is-safari.is-iOS-11 .is-header-nav-open .header-toggle__line:nth-child(1) {
        -webkit-transform: rotate(45deg) scale(0.75) translateX(-70%);
            -ms-transform: rotate(45deg) scale(0.75) translateX(-70%);
                transform: rotate(45deg) scale(0.75) translateX(-70%); }
      .is-iOS:not(.is-iOS-11) .is-header-nav-open .header-toggle__line:nth-child(1) {
        -webkit-transform: rotate(45deg) scale(0.75);
            -ms-transform: rotate(45deg) scale(0.75);
                transform: rotate(45deg) scale(0.75); }
    .is-header-nav-open .header-toggle__line:nth-child(2) {
      stroke: transparent; }
    .is-header-nav-open .header-toggle__line:nth-child(3) {
      -webkit-transform: rotate(-45deg) scale(0.75) translateX(20%);
          -ms-transform: rotate(-45deg) scale(0.75) translateX(20%);
              transform: rotate(-45deg) scale(0.75) translateX(20%); }
      .is-firefox .is-header-nav-open .header-toggle__line:nth-child(3),
      .is-safari.is-iOS-11 .is-header-nav-open .header-toggle__line:nth-child(3) {
        -webkit-transform: rotate(-45deg) scale(0.75) translateX(20%);
            -ms-transform: rotate(-45deg) scale(0.75) translateX(20%);
                transform: rotate(-45deg) scale(0.75) translateX(20%); }
      .is-iOS:not(.is-iOS-11) .is-header-nav-open .header-toggle__line:nth-child(3) {
        -webkit-transform: rotate(-45deg) scale(0.75);
            -ms-transform: rotate(-45deg) scale(0.75);
                transform: rotate(-45deg) scale(0.75); }

.header-toggle__text {
  font-size: 0.75rem;
  font-weight: 500;
  transition: color 0.2s;
  will-change: color; }
  .is-header-nav-open .header-toggle__text {
    color: #d9541e; }

.header-topics {
  position: relative;
  z-index: 2; }

.header-topics__toggle {
  -webkit-align-items: middle;
      -ms-flex-align: middle;
          align-items: middle;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  left: 0.25rem;
  position: relative; }
  .header-topics__toggle .header-topics__icon {
    transition: background .3s ease; }
  .header-topics__toggle:hover .header-topics__icon {
    background-image: url("../img/icon/menu-dots--orange.svg"); }
  .is-header-topics-open .header-topics__toggle .header-topics__icon {
    background-image: url("../img/icon/close--orange.svg"); }

.header-topics__icon {
  height: 0.75rem;
  margin-right: 0.375rem;
  width: 0.75rem; }

.header-topics__flyout {
  opacity: 0;
  padding: .85rem;
  position: absolute;
  right: -1.33rem;
  transition: .3s ease;
  transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility, -webkit-transform;
  visibility: hidden;
  width: 9.9375rem; }
  .is-header-topics-open .header-topics__flyout {
    opacity: 1;
    -webkit-transform: translateY(13px);
        -ms-transform: translateY(13px);
            transform: translateY(13px);
    visibility: visible; }

.header-topics__menu {
  line-height: 1;
  text-align: right; }

.header-topics__item {
  margin-top: 0.66667rem; }
  .header-topics__item:first-child {
    margin-top: 0; }

@media screen and (min-width: 64em) {
  .header-topics__flyout {
    left: -0.47619rem;
    right: auto;
    width: 10rem; }
    .is-header-topics-open .header-topics__flyout {
      -webkit-transform: translateY(20px);
          -ms-transform: translateY(20px);
              transform: translateY(20px); }
    .header-topics__flyout::before {
      border-bottom: 0.75rem solid #84126a;
      border-left: 1.6875rem solid transparent;
      border-right: 1.6875rem solid transparent;
      content: '';
      height: 0;
      left: 33%;
      position: absolute;
      top: -0.75rem;
      -webkit-transform: translateX(-50%) scale(0.999);
          -ms-transform: translateX(-50%) scale(0.999);
              transform: translateX(-50%) scale(0.999);
      width: 0; }
  .header-topics__menu {
    text-align: left; } }

.header-utilities {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap; }

.header-utilities__wrap {
  position: relative;
  z-index: 3; }

.header-utilities__item {
    border-left: 0.0625rem solid #ececec;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-size: 0.8125rem;
    line-height: 1;
    list-style: none;
    padding: 0 0.66667rem;
    position: relative;
}
  .header-utilities__item:first-child {
    border-left: 0;
    padding-left: 0; }

.header-utilities__item--login {
  border-left: 0; }

.header-utilities__item--topics {
  border-left: 0;
  font-size: 0.875rem; }

.header-utilities__item--search {
  border-left: 0;
  padding-right: 0; }

@media screen and (min-width: 64em) {
  .header-utilities__item--login {
    border-left: 0.0625rem solid #ececec; }
  .header-utilities__item--topics {
    height: 13px;
    padding-left: 2.5rem; } }

.hover-reveal {
  display: block;
  margin: 0 auto;
  position: relative; }
  .hover-reveal:hover .hover-reveal__hidden {
    opacity: 1;
    pointer-events: auto; }
  .hover-reveal:hover + .bordered--green {
    color: #15a089; }

.hover-reveal--teal {
  color: #fefefe; }
  .hover-reveal--teal:hover {
    color: #fefefe; }
  .hover-reveal--teal .hover-reveal__hidden {
    background: rgba(21, 160, 137, 0.75); }

.hover-reveal--image {
  max-width: 17.5rem; }

.hover-reveal__hidden {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  height: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0;
  padding: 2rem;
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: opacity .25s;
  width: 100%;
  z-index: 2; }

@media screen and (max-width: 47.9375em) {
  .hover-reveal__hidden {
    padding: 1.8rem 1rem; } }

hr {
  border-top: 0.0625rem solid #d2d2d2;
  margin: 2rem auto; }
  hr.white {
    border-color: #fefefe; }

html,
body {
  min-height: 100%; }

html {
  background-color: #005288;
  overflow-x: hidden; }
  html.conference {
    background-color: #FFFFFF; }

body {
  background-color: #fefefe;
  overflow-x: hidden; }

.icon {
  background-position: center;
  background-repeat: no-repeat;
  content: '';
  display: inline-block;
  vertical-align: middle; }

.icon--pdf {
  background-image: url("../img/icon/pdf--orange.png"); }

.icon--arrow-right {
  background-image: url("../img/icon/arrow-right.svg"); }

.icon--arrow-right-circle {
  background-image: url("../img/icon/arrow-circle.svg"); }

.icon--close-white {
  background-image: url("../img/icon/close--white.svg"); }

.icon--arrow-3d {
  background-image: url("../img/icon/arrow-3d--white.svg"); }

.icon--arrow-3d-navy {
  background-image: url("../img/icon/arrow-3d--navy.svg"); }

.icon--close-gray {
  background-image: url("../img/icon/close--gray.svg"); }

.icon--close-orange {
  background-image: url("../img/icon/close--orange.svg"); }

.icon--close-orange-dark {
  background-image: url("../img/icon/close--orange-dark.svg"); }

.icon--menu {
  background-image: url("../img/icon/menu.svg"); }

.icon--search {
  background-image: url("../img/icon/search.svg"); }

.icon--search-gray {
  background-image: url("../img/icon/search--gray.svg"); }

.icon--topics {
  background-image: url("../img/icon/menu-dots.svg"); }

.icon--lock {
  background-image: url("../img/icon/lock--hover.svg"); }

.icon--glasses-red {
  background-image: url("../img/icon/glasses--red.png"); }

.icon--close {
  opacity: .8;
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
  transition: .3s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  vertical-align: top;
  will-change: opacity, transform; }
  .icon--close:hover {
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }

/* YAPL
name: Infographic - Number
partial: sg-infographics-number
selector: .infographics-number
*/
/* YAPL
name: Infographic - Numbers
partial: infographics-numbers
context: infographics.ams-numbers-2
selector: .infographics-numbers
*/
/* YAPL
name: Infographic - List
partial: infographics-list
context: infographics.list
selector: .infographics-list
*/
/* YAPL
name: Infographic - Quote
partial: infographics-quote
context: infographics.quote
selector: .infographics-quote
*/
/* YAPL
name: Infographic - Steps
partial: infographics-steps
context: infographics.steps
selector: .infographics-steps
*/
/* YAPL
name: Infographic - Item-Bar (Number)
partial: infographics-item-bar
context: infographics.item-bar
selector: .infographics-item-bar
*/
/* YAPL
name: Infographic - Item-Bar (Text)
partial: infographics-item-bar
context: infographics.item-bar-2
selector: .infographics-item-bar
*/
.infographics-number {
  padding-bottom: 2rem; }
  .is-edge .infographics-number {
    padding-bottom: 4rem; }
  .infographics-number .infographics-number__title {
    background-color: #15a089;
    padding: 2rem 0;
    position: relative;
    -webkit-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
            transform: translateX(-20px);
    width: calc(100% + 40px); }
    @media print, screen and (min-width: 48em) {
      .infographics-number .infographics-number__title {
        -webkit-transform: translateX(-2rem);
            -ms-transform: translateX(-2rem);
                transform: translateX(-2rem);
        width: calc(100% + 4rem); } }
    .infographics-number .infographics-number__title::before, .infographics-number .infographics-number__title::after {
      background-image: url("../img/tag-corner--green.png");
      bottom: -5px;
      content: '';
      display: block;
      height: 5px;
      position: absolute;
      width: 10px; }
      @media print, screen and (min-width: 48em) {
        .infographics-number .infographics-number__title::before, .infographics-number .infographics-number__title::after {
          bottom: -9px;
          height: 9px;
          width: 18px; } }
    .infographics-number .infographics-number__title::before {
      left: 0; }
    .infographics-number .infographics-number__title::after {
      right: 0;
      -webkit-transform: rotateY(180deg);
              transform: rotateY(180deg); }
  .infographics-number .infographics-number-text-container {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 47.9375em) {
      .infographics-number .infographics-number-text-container {
        text-align: center; } }
    @media print, screen and (min-width: 48em) {
      .infographics-number .infographics-number-text-container {
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  .infographics-number .infographics-number__description {
    border-color: #8f8f8f;
    border-image: url("../img/border-dots.png");
    border-image-repeat: round;
    border-image-slice: 2;
    border-image-width: 2px 0;
    border-right: 0;
    border-style: dashed;
    border-width: 2px 0;
    padding: 2.5rem 0;
    width: 100%; }
  .infographics-number .infographics-number__icon-container {
    margin: 0;
    padding: 0 .5rem; }
  .infographics-number .infographics-number__image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    min-height: 19.6875rem; }
    @media print, screen and (min-width: 64em) {
      .infographics-number .infographics-number__image {
        min-height: 26.875rem; } }
  .infographics-number .infographics-number__column-right {
    margin: 0;
    padding: 0 .5rem; }
    @media print, screen and (min-width: 48em) {
      .infographics-number .infographics-number__column-right {
        padding-right: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .infographics-number .infographics-number__icon-container {
      padding-left: 3rem; }
      .is-ie .infographics-number .infographics-number__icon-container {
        -webkit-flex: 0 0 45%;
            -ms-flex: 0 0 45%;
                flex: 0 0 45%; }
    .infographics-number .infographics-number__column-right {
      padding-left: 4.5rem; }
      .is-ie .infographics-number .infographics-number__column-right {
        -webkit-flex: 0 0 45%;
            -ms-flex: 0 0 45%;
                flex: 0 0 45%; } }

.infographics-numbers-container {
  border-color: #8f8f8f;
  border-image: url("../img/border-dots.png");
  border-image-repeat: round;
  border-image-slice: 2;
  border-image-width: 2px 0 0;
  border-style: dashed;
  border-width: 2px 0 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 3rem;
  padding: 3rem 0; }
  @media screen and (max-width: 47.9375em) {
    .infographics-numbers-container {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 .5rem; } }
  .infographics-number .infographics-numbers-container {
    border-image-width: 0; }
  .infographics-numbers-container .infographics-numbers__item {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media screen and (max-width: 47.9375em) {
      .infographics-numbers-container .infographics-numbers__item {
        border-color: #8f8f8f;
        border-image: url("../img/border-dots.png");
        border-image-repeat: round;
        border-image-slice: 2;
        border-image-width: 0 0 2px;
        border-style: dashed;
        border-width: 0 0 2px;
        padding: 2.5rem 0; }
        .infographics-numbers-container .infographics-numbers__item:last-child {
          border-width: 0;
          padding-bottom: 0; } }
    .infographics-numbers-container .infographics-numbers__item .button {
      margin-top: 1rem; }
      @media print, screen and (min-width: 48em) {
        .infographics-numbers-container .infographics-numbers__item .button {
          margin-top: 2rem; } }
    .infographics-numbers-container .infographics-numbers__item h4 {
      margin-bottom: 0;
      max-width: 100%; }
    .infographics-numbers-container .infographics-numbers__item:last-child .ingographics-numbers__item-content {
      border: 0;
      border-image-width: 0; }
  .infographics-numbers-container .ingographics-numbers__item-content {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-color: #8f8f8f;
    border-image: url("../img/border-dots.png");
    border-image-repeat: round;
    border-image-slice: 2;
    border-image-width: 0 2px 0 0;
    border-style: dashed;
    border-width: 0 2px 0 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 100%;
    padding: 0 1rem; }
    @media screen and (max-width: 47.9375em) {
      .infographics-numbers-container .ingographics-numbers__item-content {
        border-image-width: 0;
        border-width: 0; } }
  .infographics-numbers-container .infographics-numbers-icon-container {
    height: 90px;
    width: 115px; }
  .infographics-numbers-container .infographics-numbers__icon {
    max-height: 100%; }

.infographics-item-bar {
  padding-bottom: 4rem; }
  .infographics-item-bar .infographics-item-bar__item {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .infographics-item-bar .infographics-item-bar__item * {
      max-width: 100%; }
  .infographics-item-bar .infographics-item-bar__image-container {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 150px;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 170px; }
    .infographics-item-bar .infographics-item-bar__image-container img {
      max-height: 100%;
      width: 100%; }

.infographics-quote {
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .infographics-quote {
      padding: 0 1rem; } }
  .infographics-quote .infographics-quote__content {
    border: 6px solid;
    position: relative; }
    .infographics-quote .infographics-quote__content::before, .infographics-quote .infographics-quote__content::after {
      background-repeat: no-repeat;
      background-size: contain;
      content: '';
      display: block;
      height: 50px;
      position: absolute;
      width: 66px;
      z-index: 3; }
      @media print, screen and (min-width: 48em) {
        .infographics-quote .infographics-quote__content::before, .infographics-quote .infographics-quote__content::after {
          height: 75px;
          width: 110px; } }
    .infographics-quote .infographics-quote__content::before {
      left: calc(50% - 33px);
      top: -1rem; }
    .infographics-quote .infographics-quote__content::after {
      bottom: -1rem;
      right: calc(50% - 33px);
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
    @media print, screen and (min-width: 48em) {
      .infographics-quote .infographics-quote__content::before {
        left: 3.75rem; }
      .infographics-quote .infographics-quote__content::after {
        right: 3.75rem; } }
  .infographics-quote.infographics-quote--orange-light .infographics-quote__content {
    border-color: #f8981d; }
    .infographics-quote.infographics-quote--orange-light .infographics-quote__content::before, .infographics-quote.infographics-quote--orange-light .infographics-quote__content::after {
      background-image: url("../img/icon/quotation--orange.svg"); }
  .infographics-quote.infographics-quote--orange-light .infographics-quote__author {
    color: #f8981d; }
  .infographics-quote .infographics-quote__inner {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 120%;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    min-height: 120%;
    padding: 3.75rem 1rem 2.8125rem;
    -webkit-transform: translateY(-10%);
        -ms-transform: translateY(-10%);
            transform: translateY(-10%);
    width: calc(100% - 2rem); }
    @media print, screen and (min-width: 48em) {
      .infographics-quote .infographics-quote__inner {
        padding: 6.25rem 1rem 3.125rem; } }
    .infographics-quote .infographics-quote__inner .infographics-quote__text {
      max-width: 100%; }
    .is-iOS:not(.is-iOS-11) .infographics-quote .infographics-quote__inner {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
      .is-iOS:not(.is-iOS-11) .infographics-quote .infographics-quote__inner::before, .is-iOS:not(.is-iOS-11) .infographics-quote .infographics-quote__inner::after {
        background-color: #fefefe;
        content: '';
        height: 25px;
        left: 0;
        position: absolute;
        width: 100%; }
      .is-iOS:not(.is-iOS-11) .infographics-quote .infographics-quote__inner::before {
        top: -25px; }
      .is-iOS:not(.is-iOS-11) .infographics-quote .infographics-quote__inner::after {
        bottom: -25px; }

@media print, screen and (min-width: 48em) {
  .infographics-steps .infographics-steps-header {
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: 2rem; } }

.infographics-steps .infographics-steps-header-icon {
  height: 130px;
  padding-top: 10px; }
  .infographics-steps .infographics-steps-header-icon img {
    max-height: 100%;
    width: 100%; }

.infographics-steps .infographics-steps__item-header {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }

.infographics-steps .infographics-steps-header-text {
  text-align: center; }
  .infographics-steps .infographics-steps-header-text h2 {
    margin-top: 2rem; }
  @media print, screen and (min-width: 48em) {
    .infographics-steps .infographics-steps-header-text {
      text-align: left; }
      .infographics-steps .infographics-steps-header-text h2 {
        margin-top: 0; } }

.infographics-steps .infographics-steps__item-number {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #2b9fce;
  border-radius: 50%;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: 85px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  width: 85px; }
  @media print, screen and (min-width: 48em) {
    .infographics-steps .infographics-steps__item-number {
      height: 125px;
      width: 125px; } }
  @media print, screen and (min-width: 64em) {
    .infographics-steps .infographics-steps__item-number {
      height: 145px;
      width: 145px; } }

.infographics-steps .infographics-steps__item-title {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #003764;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 65px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: -1rem;
  padding: 1rem .5rem 1rem .75rem;
  position: relative; }
  .infographics-steps .infographics-steps__item-title::before, .infographics-steps .infographics-steps__item-title::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    display: block;
    height: 100%;
    position: absolute; }
  .infographics-steps .infographics-steps__item-title::before {
    background-image: url("../img/infographic-step--before.png");
    left: -12px;
    top: 0;
    width: 14px; }
    @media print, screen and (min-width: 48em) {
      .infographics-steps .infographics-steps__item-title::before {
        left: -18px;
        width: 22px; } }
    @media print, screen and (min-width: 64em) {
      .infographics-steps .infographics-steps__item-title::before {
        left: -22px;
        width: 22px; } }
  .infographics-steps .infographics-steps__item-title::after {
    background-image: url("../img/infographic-step--after.png");
    right: -17px;
    top: 0;
    width: 18px; }
    @media print, screen and (min-width: 48em) {
      .infographics-steps .infographics-steps__item-title::after {
        right: -26px;
        width: 26px; } }
  @media screen and (max-width: 29.9375em) {
    .infographics-steps .infographics-steps__item-title {
      font-size: 1.15rem; } }
  @media print, screen and (min-width: 48em) {
    .infographics-steps .infographics-steps__item-title {
      height: 85px;
      left: -1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .infographics-steps .infographics-steps__item-title {
      height: 103px; } }

.infographics-steps .infographics-steps__item-description {
  margin-top: 1rem;
  padding: 0 10px; }
  @media print, screen and (min-width: 48em) {
    .infographics-steps .infographics-steps__item-description {
      margin-top: .5rem;
      padding-left: 100px;
      padding-right: 25px; } }

@media screen and (max-width: 47.9375em) {
  .infographics-steps .flickity-page-dots {
    bottom: -3rem; }
    .infographics-steps .flickity-page-dots .dot {
      background-color: #d2d2d2;
      opacity: 1;
      transition: .3s ease;
      transition-property: background-color; }
      .infographics-steps .flickity-page-dots .dot.is-selected {
        background-color: #003764; }
  .infographics-steps .flickity-viewport {
    overflow: visible;
    width: 100%; }
  .infographics-steps .infographics-steps__item {
    height: calc(100% - 4rem);
    margin: 0 3.5%;
    min-height: 250px;
    padding: 1rem;
    width: 82%; } }

.infographics-steps .infographics-steps-item-container {
  margin-bottom: 6rem; }

@media print, screen and (min-width: 48em) {
  .infographics-steps .infographics-steps-item-container {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 4rem; }
  .infographics-steps .infographics-steps__item {
    margin-right: 1.25rem;
    width: calc(50% - 1.25rem); }
    .infographics-steps .infographics-steps__item:nth-child(2n) {
      margin-right: 0; } }

@media screen and (min-width: 75em) {
  .infographics-steps .infographics-steps__item {
    margin-right: 1.25rem;
    width: calc(33% - 1.25rem); }
    .infographics-steps .infographics-steps__item:nth-child(2n) {
      margin-right: 1.25rem; }
    .infographics-steps .infographics-steps__item:nth-child(3n) {
      margin-right: 0; } }

.infographics-list {
  margin: 0 1.5rem;
  padding-bottom: 4rem; }
  @media screen and (min-width: 90em) {
    .infographics-list {
      margin: 0; } }
  .infographics-list .infographics-list-header {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #00704a;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1.5rem 1rem;
    position: relative;
    -webkit-transform: translateY(-16px);
        -ms-transform: translateY(-16px);
            transform: translateY(-16px);
    width: 90%; }
    .infographics-list .infographics-list-header::before {
      background-image: url("../img/tag-corner--green.png");
      background-repeat: no-repeat;
      background-size: contain;
      content: '';
      display: block;
      height: 8px;
      left: -11px;
      position: absolute;
      top: 4px;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      width: 16px; }
    @media print, screen and (min-width: 48em) {
      .infographics-list .infographics-list-header {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 2.5rem 2rem;
        -webkit-transform: translateY(-28px);
            -ms-transform: translateY(-28px);
                transform: translateY(-28px); }
        .infographics-list .infographics-list-header::before {
          height: 13px;
          left: -20px;
          top: 9px;
          width: 28px; } }
  .infographics-list .infographics-list-header-icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 70px; }
    @media print, screen and (min-width: 48em) {
      .infographics-list .infographics-list-header-icon {
        width: 125px; } }
  .infographics-list .infographics-list-header-text {
    text-align: center;
    width: 100%; }
    @media print, screen and (min-width: 48em) {
      .infographics-list .infographics-list-header-text {
        margin-left: 2rem;
        text-align: left;
        width: auto; } }
  .infographics-list .infographics-list__item {
    padding: 0 1rem; }
    @media print, screen and (min-width: 48em) {
      .infographics-list .infographics-list__item {
        padding: 0 2rem; }
        .infographics-list .infographics-list__item:first-child {
          border-color: #8f8f8f;
          border-image: url("../img/border-dots.png");
          border-image-repeat: round;
          border-image-slice: 2;
          border-image-width: 0 2px 0 0;
          border-style: dashed;
          border-width: 0 2px 0 0; } }
    @media print, screen and (min-width: 64em) {
      .infographics-list .infographics-list__item {
        border-color: #8f8f8f;
        border-image: url("../img/border-dots.png");
        border-image-repeat: round;
        border-image-slice: 2;
        border-image-width: 0 2px 0 0;
        border-style: dashed;
        border-width: 0 2px 0 0; }
        .infographics-list .infographics-list__item:last-child {
          border-image-width: 0;
          border-width: 0; } }
  .infographics-list .infographics-list__item-number {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #8cc63f;
    border-radius: 50%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 4.125rem;
    height: 120px;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    width: 120px; }
    @media print, screen and (min-width: 48em) {
      .infographics-list .infographics-list__item-number {
        font-size: 6.25rem;
        height: 185px;
        width: 185px; } }

.infographics-container .button {
  padding-left: 2em;
  padding-right: 2em; }

.image-fill {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative;
  transition: min-height .4s ease;
  width: 100%; }
  .image-fill img {
    position: relative;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    width: 100%;
    z-index: 2; }
  .image-fill .image-fill__background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 2; }
    @media print, screen and (min-width: 48em) {
      .feature-image .image-fill .image-fill__background {
        min-height: 0;
        position: absolute;
        z-index: 1; } }

.in-view--slide-up {
  overflow: hidden; }
  .in-view--slide-up .in-view__element {
    -webkit-transform: translate(0, 100%) scale(2.5);
        -ms-transform: translate(0, 100%) scale(2.5);
            transform: translate(0, 100%) scale(2.5);
    transition: 1.5s ease;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    will-change: transform, opacity; }
  @media screen and (min-width: 48em) {
    .in-view--slide-up.in-view--slide-up-4 .in-view__element:nth-child(1) {
      -webkit-transform: translate(-300%, 300%) scale(2);
          -ms-transform: translate(-300%, 300%) scale(2);
              transform: translate(-300%, 300%) scale(2);
      transition-delay: 0s; }
    .in-view--slide-up.in-view--slide-up-4 .in-view__element:nth-child(2) {
      -webkit-transform: translate(-100%, 300%) scale(2);
          -ms-transform: translate(-100%, 300%) scale(2);
              transform: translate(-100%, 300%) scale(2);
      transition-delay: .15s; }
    .in-view--slide-up.in-view--slide-up-4 .in-view__element:nth-child(3) {
      -webkit-transform: translate(100%, 300%) scale(2);
          -ms-transform: translate(100%, 300%) scale(2);
              transform: translate(100%, 300%) scale(2);
      transition-delay: .3s; }
    .in-view--slide-up.in-view--slide-up-4 .in-view__element:nth-child(4) {
      -webkit-transform: translate(300%, 300%) scale(2);
          -ms-transform: translate(300%, 300%) scale(2);
              transform: translate(300%, 300%) scale(2);
      transition-delay: .45s; } }
  .in-view--slide-up.is-in-view .in-view__element {
    -webkit-transform: translate(0, 0) scale(1) !important;
        -ms-transform: translate(0, 0) scale(1) !important;
            transform: translate(0, 0) scale(1) !important; }

.inpage-nav {
  width: 100%; }

.inpage-nav__item {
  background-color: #15a089;
  border-bottom: 0.0625rem solid #fefefe;
  color: #fefefe;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0.75rem 0.875rem;
  transition: .3s ease;
  transition-property: background-color, width;
  width: 100%; }
  .inpage-nav__item.is-active {
    background-color: #0d605d; }
  .inpage-nav__item:hover, .inpage-nav__item:focus {
    background-color: #174244;
    width: 120%; }
    .inpage-nav__item:hover .inpage-nav__text, .inpage-nav__item:focus .inpage-nav__text {
      width: 83.333%; }
  .inpage-nav__item:last-child {
    border: 0; }

.inpage-nav__text {
  display: block;
  transition: .3s ease;
  transition-property: width;
  width: 100%; }

.link {
  transition: color .25s; }

.link--black {
  color: #252525; }
  .link--black:hover, .link--black:focus {
    color: #d9541e; }

.link--orange {
  color: #d9541e; }
  .link--orange:hover, .link--orange:focus {
    color: #a00f36; }

.link--orange-very-pale {
  color: #fbc177; }
  .link--orange-very-pale:hover, .link--orange-very-pale:focus {
    color: #f8981d; }

.link--green-pale {
  color: #a3d165; }
  .link--green-pale:hover, .link--green-pale:focus {
    color: #fefefe; }

.link--red-mid {
  color: #a00f36; }
  .link--red-mid:hover, .link--red-mid:focus {
    color: #721031; }

.link--purple,
.link--magenta-dark {
  color: #84126a; }
  .link--purple:hover, .link--purple:focus,
  .link--magenta-dark:hover,
  .link--magenta-dark:focus {
    color: #f8981d; }

.link--magenta-pale {
  color: #ef6fdd; }
  .link--magenta-pale:hover, .link--magenta-pale:focus {
    color: #f394e6; }

.link--white {
  color: #fefefe; }
  .link--white:hover, .link--white:focus {
    color: #f8981d; }

.link--more {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .link--more .icon.fa {
    display: inline;
    left: 0.0625rem;
    position: relative;
    transition: left .3s ease; }
    .link--more .icon.fa.fa-chevron-right::before, .link--more .icon.fa.fa-chevron-left::before {
      display: inline-block;
      font-size: .7em;
      margin: 0;
      position: relative;
      top: -.22rem; }
    .link--more .icon.fa.fa-angle-right {
      font-size: 1.2rem; }
      .link--more .icon.fa.fa-angle-right::before {
        display: inline-block;
        margin-left: 7px;
        position: relative;
        top: .1em; }
  .link--more:not(.button) .icon.fa {
    left: 0.25rem; }
    .link--more:not(.button) .icon.fa.fa-chevron-right::before, .link--more:not(.button) .icon.fa.fa-chevron-left::before {
      top: -0.125rem; }
  .link--more .icon--arrow-3d {
    display: inline-block;
    height: 2rem;
    margin-left: 0.9375rem;
    position: relative;
    -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
            transform: rotate(0);
    width: 3.625rem; }
    .link--more .icon--arrow-3d.icon--arrow-3d-small {
      height: 1.4375rem;
      margin-left: 0.6875rem;
      width: 2.4375rem; }
  .link--more:hover:not(.button) .icon.fa.fa-chevron-right, .link--more:hover:not(.button) .icon.fa.fa-chevron-left, .link--more:hover:not(.button) .icon.fa.fa-angle-right, .link--more:hover:not(.button) .icon.fa.fa-angle-left, .link--more:focus:not(.button) .icon.fa.fa-chevron-right, .link--more:focus:not(.button) .icon.fa.fa-chevron-left, .link--more:focus:not(.button) .icon.fa.fa-angle-right, .link--more:focus:not(.button) .icon.fa.fa-angle-left {
    left: 0.5625rem; }
  .link--more:hover .icon.fa.fa-chevron-right, .link--more:hover .icon.fa.fa-chevron-left, .link--more:hover .icon.fa.fa-angle-right, .link--more:hover .icon.fa.fa-angle-left, .link--more:focus .icon.fa.fa-chevron-right, .link--more:focus .icon.fa.fa-chevron-left, .link--more:focus .icon.fa.fa-angle-right, .link--more:focus .icon.fa.fa-angle-left {
    left: 0.3125rem; }
  .link--more:hover:hover .icon--arrow-3d, .link--more:hover:focus .icon--arrow-3d, .link--more:focus:hover .icon--arrow-3d, .link--more:focus:focus .icon--arrow-3d {
    -webkit-animation: wiggle .5s;
            animation: wiggle .5s; }
  .link--more.link--more-lock .icon.fa.fa-lock {
    left: 0;
    margin-right: 0.625rem;
    top: 0; }
    .link--more.link--more-lock .icon.fa.fa-lock::before {
      display: block; }
  .link--more.link--more-large .icon.fa.fa-chevron-right::before, .link--more.link--more-large .icon.fa.fa-chevron-left::before {
    top: .15em; }
  .link--more.link--more-small .icon.fa.fa-chevron-right::before, .link--more.link--more-small .icon.fa.fa-chevron-left::before {
    top: -0.1875rem; }

.link--more:hover:not(.button) .icon.fa.fa-chevron-left {
  right: 0.5625rem;
  left: auto; }

.link--more:not(.button) .icon.fa.fa-chevron-left {
  right: 0.25rem;
  left: auto; }

.link--more:hover .icon.fa.fa-chevron-left {
  right: 0.5625rem;
  left: auto; }

.link--lock::after {
  color: #666;
  content: '\00A0\f023';
  display: inline;
  font-family: "FontAwesome" !important;
  font-size: .9em;
  font-weight: 400 !important;
  transition: color .3s ease; }

.link--external::after {
  color: #8f8f8f;
  content: '\f08e';
  display: inline-block;
  font-family: "FontAwesome";
  font-size: 1rem;
  margin-left: 6px;
  position: relative;
  top: -6px; }

.link--contact .icon {
  color: #252525;
  margin-right: 4px;
  position: relative;
  top: -2px; }

.link--contact.link--green-pale .icon {
  color: #fefefe; }

.link--back {
  font-size: 1.25rem; }
  .link--back::before {
    content: '\f053';
    display: inline;
    font-family: "FontAwesome";
    font-size: .6em;
    left: 0;
    margin-right: 0.5rem;
    position: relative;
    top: -0.0625rem;
    transition: left .3s ease; }
  .link--back:hover::before, .link--back:focus::before {
    left: -0.25rem; }

.link--next {
  font-size: 1.25rem; }
  .link--next::after {
    content: '\f053';
    display: inline;
    font-family: "FontAwesome";
    font-size: .6em;
    margin-left: 0.5rem;
    position: relative;
    right: 0;
    top: -0.0625rem;
    transition: right .3s ease; }
  .link--next:hover::after, .link--next:focus::after {
    right: -0.25rem; }

.link--arrow-3d.blue-navy {
  color: #003764; }

.link--arrow-3d.white {
  color: #fefefe; }

/*
== malihu jquery custom scrollbar plugin ==
Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller
*/
/*
CONTENTS:
	1. BASIC STYLE - Plugin's basic/essential CSS properties (normally, should not be edited).
	2. VERTICAL SCROLLBAR - Positioning and dimensions of vertical scrollbar.
	3. HORIZONTAL SCROLLBAR - Positioning and dimensions of horizontal scrollbar.
	4. VERTICAL AND HORIZONTAL SCROLLBARS - Positioning and dimensions of 2-axis scrollbars.
	5. TRANSITIONS - CSS3 transitions for hover events, auto-expanded and auto-hidden scrollbars.
	6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS
		6.1 THEMES - Scrollbar colors, opacity, dimensions, backgrounds etc. via ready-to-use themes.
*/
/*
------------------------------------------------------------------------------------------------------------------------
1. BASIC STYLE
------------------------------------------------------------------------------------------------------------------------
*/
.mCustomScrollbar {
  -ms-touch-action: pinch-zoom;
  touch-action: pinch-zoom;
  /* direct pointer events to js */ }

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
  -ms-touch-action: auto;
  touch-action: auto; }

.mCustomScrollBox {
  /* contains plugin's markup */
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: none;
  direction: ltr; }

.mCSB_container {
  /* contains the original content */
  overflow: hidden;
  width: auto;
  height: auto; }

/*
------------------------------------------------------------------------------------------------------------------------
2. VERTICAL SCROLLBAR
y-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_inside > .mCSB_container {
  margin-right: 30px; }

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0; }

/* non-visible scrollbar */
.mCS-dir-rtl > .mCSB_inside > .mCSB_container {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0; }

/* RTL direction/left-side scrollbar */
.mCSB_scrollTools {
  /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */
  position: absolute;
  width: 16px;
  height: auto;
  left: auto;
  top: 0;
  right: 0;
  bottom: 0; }

.mCSB_outside + .mCSB_scrollTools {
  right: -26px; }

/* scrollbar position: outside */
.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,
.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  /* RTL direction/left-side scrollbar */
  right: auto;
  left: 0; }

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  left: -26px; }

/* RTL direction/left-side scrollbar (scrollbar position: outside) */
.mCSB_scrollTools .mCSB_draggerContainer {
  /* contains the draggable element and dragger rail markup */
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto; }

.mCSB_scrollTools a + .mCSB_draggerContainer {
  margin: 20px 0; }

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px; }

.mCSB_scrollTools .mCSB_dragger {
  /* the draggable element */
  cursor: pointer;
  width: 100%;
  height: 30px;
  /* minimum dragger height */
  z-index: 1; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  /* the dragger element */
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
  text-align: center; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0; }

/*
------------------------------------------------------------------------------------------------------------------------
3. HORIZONTAL SCROLLBAR
x-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_horizontal.mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-bottom: 20px; }

.mCSB_horizontal.mCSB_outside > .mCSB_container {
  min-height: 100%; }

.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/* non-visible scrollbar */
.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0; }

.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px; }

/* scrollbar position: outside */
.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 0 20px; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px;
  /* minimum dragger width */
  height: 100%;
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  /* auto-expanded scrollbar */
  margin: 2px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px;
  /* auto-expanded scrollbar */
  margin: 4px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,
.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0; }

/*
------------------------------------------------------------------------------------------------------------------------
4. VERTICAL AND HORIZONTAL SCROLLBARS
yx-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px; }

.mCSB_container_wrapper > .mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  box-sizing: border-box; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px; }

/* non-visible horizontal scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0; }

/* non-visible vertical scrollbar/RTL direction/left-side scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px; }

/* non-visible scrollbar/RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container {
  padding-right: 0; }

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container {
  padding-bottom: 0; }

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
  /* non-visible scrollbar */
  margin-left: 0; }

/* non-visible horizontal scrollbar */
.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/*
------------------------------------------------------------------------------------------------------------------------
5. TRANSITIONS
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_scrollTools,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  transition: opacity .2s ease-in-out, background-color .2s ease-in-out; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail {
  transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out; }

/*
------------------------------------------------------------------------------------------------------------------------
6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS
------------------------------------------------------------------------------------------------------------------------
*/
/*
	----------------------------------------
	6.1 THEMES
	----------------------------------------
	*/
/* default theme ("light") */
.mCSB_scrollTools {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)"; }

.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollBox:hover > .mCSB_scrollTools,
.mCustomScrollBox:hover ~ .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)"; }

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)"; }

.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  background-image: url(mCSB_buttons.png);
  /* css sprites */
  background-repeat: no-repeat;
  opacity: 0.4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0;
  /*
		sprites locations
		light: 0 0, -16px 0, -32px 0, -48px 0, 0 -72px, -16px -72px, -32px -72px
		dark: -80px 0, -96px 0, -112px 0, -128px 0, -80px -72px, -96px -72px, -112px -72px
		*/ }

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px;
  /*
		sprites locations
		light: 0 -20px, -16px -20px, -32px -20px, -48px -20px, 0 -92px, -16px -92px, -32px -92px
		dark: -80px -20px, -96px -20px, -112px -20px, -128px -20px, -80px -92px, -96px -92px, -112 -92px
		*/ }

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px;
  /*
		sprites locations
		light: 0 -40px, -20px -40px, -40px -40px, -60px -40px, 0 -112px, -20px -112px, -40px -112px
		dark: -80px -40px, -100px -40px, -120px -40px, -140px -40px, -80px -112px, -100px -112px, -120px -112px
		*/ }

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px;
  /*
		sprites locations
		light: 0 -56px, -20px -56px, -40px -56px, -60px -56px, 0 -128px, -20px -128px, -40px -128px
		dark: -80px -56px, -100px -56px, -120px -56px, -140px -56px, -80px -128px, -100px -128px, -120px -128px
		*/ }

.mCSB_scrollTools .mCSB_buttonUp:hover,
.mCSB_scrollTools .mCSB_buttonDown:hover,
.mCSB_scrollTools .mCSB_buttonLeft:hover,
.mCSB_scrollTools .mCSB_buttonRight:hover {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_buttonUp:active,
.mCSB_scrollTools .mCSB_buttonDown:active,
.mCSB_scrollTools .mCSB_buttonLeft:active,
.mCSB_scrollTools .mCSB_buttonRight:active {
  opacity: 0.9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

/* theme: "dark" */
.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme: "light-2", "dark-2" */
.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px; }

/* theme: "dark-2" */
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px; }

/* ---------------------------------------- */
/* theme: "light-thick", "dark-thick" */
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 4px; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 6px 0; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 10px;
  margin: 5px auto; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px; }

/* theme: "dark-thick" */
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.65);
  border-radius: 4px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.7); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.7); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px; }

/* ---------------------------------------- */
/* theme: "light-thin", "dark-thin" */
.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1); }

.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto; }

/* theme "dark-thin" */
.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme "rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark" */
.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.15); }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger {
  height: 14px; }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px;
  /* auto-expanded scrollbar */
  height: 16px;
  margin: -1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px;
  /* auto-expanded scrollbar */ }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px;
  /* auto-expanded scrollbar */
  width: 16px;
  margin: 0 -1px; }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px;
  /* auto-expanded scrollbar */
  margin: 6px 0; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px; }

/* theme "rounded-dark", "rounded-dots-dark" */
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px; }

/* theme "rounded-dots", "rounded-dots-dark" */
.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");
  background-repeat: repeat-y;
  opacity: 0.3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px; }

/* theme "rounded-dots-dark" */
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII="); }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px; }

/* ---------------------------------------- */
/* theme "3d", "3d-dark", "3d-thick", "3d-thick-dark" */
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

/* theme "3d", "3d-dark" */
.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px; }

.mCS-3d.mCSB_scrollTools,
.mCS-3d-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 16px; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.5), inset -1px 0 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5), inset 0 -1px 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "3d-dark" */
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "3d-thick", "3d-thick-dark" */
.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  border-radius: 7px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 5px; }

.mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical,
.mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  right: 1px; }

.mCS-3d-thick.mCSB_scrollTools_vertical,
.mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools_horizontal,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  width: auto; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme: "3d-thick-dark" */
.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #777; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "minimal", "minimal-dark" */
.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0; }

.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  left: 0;
  right: auto; }

.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px; }

.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* theme: "minimal-dark" */
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* ---------------------------------------- */
/* theme "light-3", "dark-3" */
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px; }

.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0; }

.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px; }

.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "dark-3" */
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark" */
.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "inset-dark", "inset-2-dark", "inset-3-dark" */
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* theme "inset-2", "inset-2-dark" */
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box; }

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #000;
  border-color: rgba(0, 0, 0, 0.2); }

/* theme "inset-3", "inset-3-dark" */
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

/* ---------------------------------------- */
/*! Flickity v2.0.10
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.flickity-prev-next-button:hover {
  background: white; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F; }

.flickity-prev-next-button:active {
  opacity: 0.6; }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button:disabled {
  opacity: 0.3;
  cursor: auto; }

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-prev-next-button .arrow {
  fill: #333; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  opacity: 1; }

/* YAPL
name: Media Inquiries
partial: media-inquiries
*/
.media-inquiries-column:last-child h4 {
  border-top: 1px solid #d2d2d2;
  padding-top: 1.5rem; }

@media print, screen and (min-width: 48em) {
  .media-inquiries-column:first-child {
    border-right: 1px solid #d2d2d2;
    padding-right: 2.5rem; }
  .media-inquiries-column:last-child {
    padding-left: 2.5rem; }
    .media-inquiries-column:last-child h4 {
      border: 0;
      padding: 0; } }

.media-inquiries-column > .row.column, .media-inquiries-column > .row.columns {
  margin-top: 1.5rem; }
  @media print, screen and (min-width: 48em) {
    .media-inquiries-column > .row.column, .media-inquiries-column > .row.columns {
      border-top: 1px solid #d2d2d2;
      padding-top: 1.5rem; } }

@-webkit-keyframes dash {
  to {
    stroke-dashoffset: 0; } }

@keyframes dash {
  to {
    stroke-dashoffset: 0; } }

.ornament {
  position: relative; }

.ornament--offset-top {
  top: 0.5625rem; }

.ornament--offset-left {
  left: 1.875rem; }

.ornament--offset-right {
  right: 1.875rem; }

.ornament--offset-bottom {
  bottom: 0.5625rem; }

.ornament__line {
  fill: none;
  stroke: rgba(143, 143, 143, 0.25);
  stroke-dasharray: 3161;
  stroke-dashoffset: 3161; }
  .is-in-view .ornament__line {
    -webkit-animation: dash 4s linear forwards;
            animation: dash 4s linear forwards; }

.ornamend--rotated-left {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.ornament--left {
  left: -11.25rem;
  position: absolute;
  top: 50%; }

/* YAPL
name: Page Callouts
partial: sg-page-callouts
selector: .page-callouts
*/
.page-callouts__callout {
  padding: 1.5625rem;
  padding-right: 2.8125rem; }
  @media print, screen and (min-width: 64em) {
    .page-callouts__callout {
      padding: 2.5rem 3.125rem 3.125rem 6.25rem; } }
  .page-callouts__callout .row {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .page-callouts__callout .icon--pdf {
    background-size: contain;
    height: 33px;
    position: relative;
    right: -6px;
    top: -6px;
    width: 27px; }
    @media screen and (max-width: 47.9375em) {
      .page-callouts__callout .icon--pdf {
        position: absolute;
        right: 15px;
        top: 15px; } }

.page-callouts__button-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (min-width: 64em) {
    .page-callouts__button-container {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

/* YAPL
name: Page Teasers
partial: page-teasers
context: page-teasers.secondary-landing
selector: .page-teasers
*/
@media print, screen and (min-width: 48em) {
  .page-teasers img {
    width: 100%; } }

/* YAPL
name: Pagination
partial: pagination-bottom-search
selector: .pagination-bottom
*/
.pagination__link {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #2b9fce;
  border-radius: 50%;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1.25rem;
  height: 2.5rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0.1875rem;
  width: 2.5rem; }
  .pagination__link:hover, .pagination__link:focus, .pagination__link.is-active {
    background-color: #005288;
    color: #fefefe; }

.pagination__links {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .pagination__links {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.pagination__text-link {
  color: #2b9fce;
  position: absolute;
  top: calc(50% - 8px); }
  .pagination__text-link.link--more {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }
  .pagination__text-link:hover, .pagination__text-link:focus {
    color: #005288; }
  .pagination__text-link::after, .pagination__text-link::before {
    font-weight: 700; }

.pagination__text-link--next {
  right: -70px; }
  .pagination__text-link--next::after {
    font-weight: 600; }
  .pagination-search .pagination__text-link--next {
    margin-left: 5px;
    position: static; }

.pagination__text-link--prev {
  left: -70px; }
  .pagination__text-link--prev .icon.fa {
    left: auto;
    right: 0;
    transition: right .3s ease;
    will-change: right; }
  .pagination-search .pagination__text-link--prev {
    margin-right: 5px;
    position: static; }
  .pagination__text-link--prev:hover .icon.fa, .pagination__text-link--prev:focus .icon.fa {
    left: auto;
    right: 0.1875rem; }

.pagination__view-all {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2b9fce;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2rem; }
  .pagination__view-all::before, .pagination__view-all::after {
    background-color: #8f8f8f;
    content: '';
    display: block;
    height: 1px;
    position: relative;
    top: 2px;
    width: 30px; }
  .pagination__view-all::before {
    margin-right: 13px; }
  .pagination__view-all::after {
    margin-left: 13px; }
  .pagination__view-all:hover, .pagination__view-all:focus {
    color: #005288; }

.pagination__ellipsis {
  margin: 0 5px;
  position: relative;
  top: 10px; }

.paper-container {
  box-shadow: -17px 17px 38px -2px rgba(0, 0, 0, 0.22); }
  .paper-container .button {
    display: block;
    padding: 1.4375rem 1.875rem;
    text-align: left; }

.paper {
  position: relative; }
  .paper .paper-corner {
    height: 30px;
    position: absolute;
    right: 0;
    top: 0;
    width: 30px; }
    .paper .paper-corner::before {
      border-style: solid;
      border-width: 0 1.875rem 1.875rem 0;
      content: '';
      display: block; }
    .paper .paper-corner.paper-corner--left {
      left: 0;
      right: auto; }
  @media screen and (max-width: 63.9375em) {
    .paper.paper--large .paper-corner {
      display: none; } }

.paper--orange {
  background: #f8981d;
  color: #fefefe;
  padding: 1.875rem 1.875rem 0; }
  .paper--orange .paper-corner::before {
    display: none; }
  .paper--orange ul {
    margin: 0; }
  .paper--orange li {
    border-top: 0.0625rem solid #fefefe;
    padding: 1.25rem 0; }
  .paper--orange a {
    color: #fefefe; }
    .paper--orange a:hover {
      color: #c23c33; }

.paper--connect {
  margin-top: 6px; }

.pipe {
  color: #b3b3b3;
  display: inline-block;
  font-weight: 400;
  padding: 0 0.33333rem; }
  .pipe::before {
    content: '|';
    display: inline; }

.player {
  height: 100%;
  position: relative;
  width: 100%; }
  .player .plyr__controls,
  .player .player__video {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%; }
  .player .player__video {
    height: 100%; }
  .player .plyr__controls {
    height: auto;
    opacity: 0;
    visibility: hidden; }
  .player .player__cover {
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 0;
    opacity: 1;
    position: absolute;
    top: 0;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 2; }
  .player.is-active .player__cover {
    opacity: 0;
    pointer-events: none;
    visibility: hidden; }
  .player.is-active .plyr {
    background-color: #000; }
  .player.is-active .plyr__controls {
    opacity: 1;
    pointer-events: auto;
    visibility: visible; }
  .player.player--resize {
    height: auto; }

.plyr--fullscreen-active .plyr__controls,
.plyr--fullscreen-active .player__video {
  max-width: none; }

.player--background {
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }
  .player--background .player__video {
    opacity: 0;
    pointer-events: none; }
  .player--background.is-active .player__video {
    opacity: 1;
    pointer-events: auto; }

.player__button {
  background: rgba(37, 37, 37, 0.45);
  border-radius: 50%;
  box-shadow: inset 0 0 2px 2px #fefefe;
  color: #fefefe;
  cursor: pointer;
  height: 4.75rem;
  opacity: 0;
  pointer-events: none;
  transition: background .5s, opacity .33s;
  visibility: hidden;
  width: 4.75rem; }
  @media screen and (max-width: 47.9375em) {
    .player__button {
      -webkit-tap-highlight-color: transparent;
      outline: none; } }
  .feature-tiles .player__button {
    background: #252525; }
  .player__button:hover, .player__button:focus {
    background: #d9541e; }
  .is-ready .player__button,
  .is-ready ~ * .player__button {
    opacity: 1;
    pointer-events: auto;
    visibility: visible; }
  .is-active .player__button {
    opacity: 0;
    pointer-events: none;
    visibility: hidden; }

.player__button--centered {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3; }

.player__button--large {
  height: 90px;
  width: 90px; }
  @media screen and (min-width: 48em) {
    .player__button--large {
      height: 137px;
      width: 137px; } }

.player__video {
  -webkit-flex: 1 1 100%;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%; }
  .player__video iframe {
    display: block;
    height: 100%;
    width: 100%; }

.player__close {
  position: absolute;
  right: 1rem;
  top: 0; }

.plyr--ready {
  height: 100%; }

.player__icon {
  background-image: url("../img/icon/play-circle.svg");
  display: inline-block;
  height: 100%;
  width: 100%; }

.campaign-landing__player .player__icon {
  background-image: url("../img/icon/campaign-play.png");
  border: 0;
  transition: background-image .3s ease;
  background-size: cover; }

.campaign-landing__player .player__button {
  background-color: transparent;
  height: 6.875rem;
  width: 6.875rem; }
  .campaign-landing__player .player__button:hover, .campaign-landing__player .player__button:focus {
    background-color: transparent; }
    .campaign-landing__player .player__button:hover .player__icon, .campaign-landing__player .player__button:focus .player__icon {
      background-image: url("../img/icon/campaign-play--hover.png"); }

@-webkit-keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

@keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

.plyr {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 1 0 100%;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  height: 100%; }
  .plyr,
  .plyr *,
  .plyr *::after,
  .plyr *::before {
    box-sizing: border-box; }
  .plyr a, .plyr button, .plyr input, .plyr label {
    -ms-touch-action: manipulation;
        touch-action: manipulation; }
  .plyr:focus {
    outline: 0; }
  .plyr video,
  .plyr audio {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border-radius: inherit; }
  .plyr input[type='range'] {
    display: block;
    height: 20px;
    width: 100%;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    border: none;
    background: transparent; }
    .plyr input[type='range']::-webkit-slider-runnable-track {
      height: 8px;
      background: transparent;
      border: 0;
      border-radius: 4px;
      -webkit-user-select: none;
              user-select: none; }
    .plyr input[type='range']::-webkit-slider-thumb {
      -webkit-appearance: none;
      margin-top: -4px;
      position: relative;
      height: 16px;
      width: 16px;
      background: #fff;
      border: 2px solid transparent;
      border-radius: 100%;
      transition: background .2s ease, border .2s ease, -webkit-transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease, -webkit-transform .2s ease;
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.15);
      box-sizing: border-box; }
    .plyr input[type='range']::-moz-range-track {
      height: 8px;
      background: transparent;
      border: 0;
      border-radius: 4px;
      -moz-user-select: none;
           user-select: none; }
    .plyr input[type='range']::-moz-range-thumb {
      position: relative;
      height: 16px;
      width: 16px;
      background: #fff;
      border: 2px solid transparent;
      border-radius: 100%;
      transition: background .2s ease, border .2s ease, -webkit-transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease, -webkit-transform .2s ease;
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.15);
      box-sizing: border-box; }
    .plyr input[type='range']::-ms-track {
      height: 8px;
      background: transparent;
      border: 0;
      color: transparent; }
    .plyr input[type='range']::-ms-fill-upper {
      height: 8px;
      background: transparent;
      border: 0;
      border-radius: 4px;
      -ms-user-select: none;
          user-select: none; }
    .plyr input[type='range']::-ms-fill-lower {
      height: 8px;
      background: transparent;
      border: 0;
      border-radius: 4px;
      -ms-user-select: none;
          user-select: none;
      background: #3498db; }
    .plyr input[type='range']::-ms-thumb {
      position: relative;
      height: 16px;
      width: 16px;
      background: #fff;
      border: 2px solid transparent;
      border-radius: 100%;
      transition: background .2s ease, border .2s ease, -webkit-transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease;
      transition: background .2s ease, border .2s ease, transform .2s ease, -webkit-transform .2s ease;
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.15);
      box-sizing: border-box;
      margin-top: 0; }
    .plyr input[type='range']::-ms-tooltip {
      display: none; }
    .plyr input[type='range']:focus {
      outline: 0; }
    .plyr input[type='range']::-moz-focus-outer {
      border: 0; }
    .plyr input[type='range'].tab-focus:focus {
      outline-offset: 3px; }
    .plyr input[type='range']:active::-webkit-slider-thumb {
      background: #3498db;
      border-color: #fff;
      -webkit-transform: scale(1.25);
              transform: scale(1.25); }
    .plyr input[type='range']:active::-moz-range-thumb {
      background: #3498db;
      border-color: #fff;
      transform: scale(1.25); }
    .plyr input[type='range']:active::-ms-thumb {
      background: #3498db;
      border-color: #fff;
      -ms-transform: scale(1.25);
          transform: scale(1.25); }

.plyr--video input[type='range'].tab-focus:focus {
  outline: 1px dotted rgba(255, 255, 255, 0.5); }

.plyr--audio input[type='range'].tab-focus:focus {
  outline: 1px dotted rgba(86, 93, 100, 0.5); }

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  position: absolute !important;
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important; }

.plyr__video-wrapper {
  position: relative;
  background: #000;
  border-radius: inherit; }

.plyr .plyr__video-embed iframe {
  pointer-events: none; }

.plyr video::-webkit-media-text-track-container {
  display: none; }

.plyr__captions {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  -webkit-transform: translateY(-60px);
      -ms-transform: translateY(-60px);
          transform: translateY(-60px);
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: 400; }
  .plyr__captions span {
    border-radius: 2px;
    padding: 3px 10px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    line-height: 150%; }
  .plyr__captions span:empty {
    display: none; }
  @media (min-width: 768px) {
    .plyr__captions {
      font-size: 24px; } }

.plyr--captions-active .plyr__captions {
  display: block; }

.plyr--hide-controls .plyr__captions {
  -webkit-transform: translateY(-20px);
      -ms-transform: translateY(-20px);
          transform: translateY(-20px); }

@media (min-width: 1024px) {
  .plyr--fullscreen-active .plyr__captions {
    font-size: 32px; } }

.plyr ::-webkit-media-controls {
  display: none; }

.plyr__controls {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  text-align: center; }
  .plyr__controls > button,
  .plyr__controls .plyr__progress,
  .plyr__controls .plyr__time {
    margin-left: 5px; }
    .plyr__controls > button:first-child,
    .plyr__controls .plyr__progress:first-child,
    .plyr__controls .plyr__time:first-child {
      margin-left: 0; }
  .plyr__controls .plyr__volume {
    margin-left: 5px; }
  .plyr__controls [data-plyr="pause"] {
    margin-left: 0; }
  .plyr__controls button {
    position: relative;
    display: inline-block;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    overflow: visible;
    vertical-align: middle;
    padding: 7px;
    border: 0;
    background: transparent;
    border-radius: 3px;
    cursor: pointer;
    transition: background .3s ease, color .3s ease, opacity .3s ease;
    color: inherit; }
    .plyr__controls button svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: currentColor; }
    .plyr__controls button:focus {
      outline: 0; }
  .plyr__controls .icon--exit-fullscreen,
  .plyr__controls .icon--muted,
  .plyr__controls .icon--captions-on {
    display: none; }
  @media (min-width: 480px) {
    .plyr__controls > button,
    .plyr__controls .plyr__progress,
    .plyr__controls .plyr__time {
      margin-left: 10px; } }

.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none; }

.plyr--video .plyr__controls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 50px 10px 10px;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  color: #fff;
  transition: opacity .3s ease; }
  .plyr--video .plyr__controls button.tab-focus:focus, .plyr--video .plyr__controls button:hover {
    background: #3498db;
    color: #fff; }

.plyr--audio .plyr__controls {
  padding: 10px;
  border-radius: inherit;
  background: #fff;
  border: 1px solid #dbe3e8;
  color: #565D64; }
  .plyr--audio .plyr__controls button.tab-focus:focus, .plyr--audio .plyr__controls button:hover {
    background: #3498db;
    color: #fff; }

.plyr__play-large {
  display: none;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 10px;
  background: #3498db;
  border: 4px solid currentColor;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: #fff;
  transition: all .3s ease; }
  .plyr__play-large svg {
    position: relative;
    left: 2px;
    width: 20px;
    height: 20px;
    display: block;
    fill: currentColor; }
  .plyr__play-large:focus {
    outline: 1px dotted rgba(255, 255, 255, 0.5); }

.plyr .plyr__play-large {
  display: inline-block; }

.plyr--audio .plyr__play-large {
  display: none; }

.plyr--playing .plyr__play-large {
  opacity: 0;
  visibility: hidden; }

.plyr__controls [data-plyr='pause'],
.plyr--playing .plyr__controls [data-plyr='play'] {
  display: none; }

.plyr--playing .plyr__controls [data-plyr='pause'] {
  display: inline-block; }

.plyr--fullscreen-active .icon--exit-fullscreen,
.plyr--muted .plyr__controls .icon--muted,
.plyr--captions-active .plyr__controls .icon--captions-on {
  display: block; }
  .plyr--fullscreen-active .icon--exit-fullscreen + svg,
  .plyr--muted .plyr__controls .icon--muted + svg,
  .plyr--captions-active .plyr__controls .icon--captions-on + svg {
    display: none; }

.plyr [data-plyr='captions'],
.plyr [data-plyr='fullscreen'] {
  display: none; }

.plyr--captions-enabled [data-plyr='captions'],
.plyr--fullscreen-enabled [data-plyr='fullscreen'] {
  display: inline-block; }

.plyr__tooltip {
  position: absolute;
  z-index: 2;
  bottom: 100%;
  margin-bottom: 10px;
  padding: 5px 7.5px;
  pointer-events: none;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
  -webkit-transform: translate(-50%, 10px) scale(0.8);
      -ms-transform: translate(-50%, 10px) scale(0.8);
          transform: translate(-50%, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
      -ms-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: opacity .2s .1s ease, -webkit-transform .2s .1s ease;
  transition: transform .2s .1s ease, opacity .2s .1s ease;
  transition: transform .2s .1s ease, opacity .2s .1s ease, -webkit-transform .2s .1s ease; }
  .plyr__tooltip::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -4px;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(0, 0, 0, 0.7);
    border-left: 4px solid transparent;
    z-index: 2; }

.plyr button:hover .plyr__tooltip,
.plyr button.tab-focus:focus .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  -webkit-transform: translate(-50%, 0) scale(1);
      -ms-transform: translate(-50%, 0) scale(1);
          transform: translate(-50%, 0) scale(1); }

.plyr button:hover .plyr__tooltip {
  z-index: 3; }

.plyr__controls button:first-child .plyr__tooltip {
  left: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
      -ms-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 0 100%;
      -ms-transform-origin: 0 100%;
          transform-origin: 0 100%; }
  .plyr__controls button:first-child .plyr__tooltip::before {
    left: 16px; }

.plyr__controls button:last-child .plyr__tooltip {
  right: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
      -ms-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 100% 100%;
      -ms-transform-origin: 100% 100%;
          transform-origin: 100% 100%; }
  .plyr__controls button:last-child .plyr__tooltip::before {
    left: auto;
    right: 16px;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%); }

.plyr__controls button:first-child:hover .plyr__tooltip,
.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,
.plyr__controls button:first-child .plyr__tooltip--visible,
.plyr__controls button:last-child:hover .plyr__tooltip,
.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,
.plyr__controls button:last-child .plyr__tooltip--visible {
  -webkit-transform: translate(0, 0) scale(1);
      -ms-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1); }

.plyr__progress {
  display: none;
  position: relative;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  .plyr__progress input[type="range"] {
    position: relative;
    z-index: 2; }
    .plyr__progress input[type="range"]::-webkit-slider-runnable-track {
      background: transparent; }
    .plyr__progress input[type="range"]::-moz-range-track {
      background: transparent; }
    .plyr__progress input[type="range"]::-ms-fill-upper {
      background: transparent; }
  .plyr__progress .plyr__tooltip {
    left: 0; }

.plyr .plyr__progress {
  display: inline-block; }

.plyr__progress--buffer,
.plyr__progress--played,
.plyr__volume--display {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 8px;
  margin: -4px 0 0;
  padding: 0;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 100px; }
  .plyr__progress--buffer::-webkit-progress-bar,
  .plyr__progress--played::-webkit-progress-bar,
  .plyr__volume--display::-webkit-progress-bar {
    background: transparent; }
  .plyr__progress--buffer::-webkit-progress-value,
  .plyr__progress--played::-webkit-progress-value,
  .plyr__volume--display::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 8px; }
  .plyr__progress--buffer::-moz-progress-bar,
  .plyr__progress--played::-moz-progress-bar,
  .plyr__volume--display::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 8px; }
  .plyr__progress--buffer::-ms-fill,
  .plyr__progress--played::-ms-fill,
  .plyr__volume--display::-ms-fill {
    border-radius: 100px; }

.plyr__progress--played,
.plyr__volume--display {
  z-index: 1;
  color: #3498db;
  background: transparent;
  transition: none; }
  .plyr__progress--played::-webkit-progress-value,
  .plyr__volume--display::-webkit-progress-value {
    min-width: 8px;
    max-width: 99%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    transition: none; }
  .plyr__progress--played::-moz-progress-bar,
  .plyr__volume--display::-moz-progress-bar {
    min-width: 8px;
    max-width: 99%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    transition: none; }
  .plyr__progress--played::-ms-fill,
  .plyr__volume--display::-ms-fill {
    display: none; }

.plyr__progress--buffer::-webkit-progress-value {
  transition: width .2s ease; }

.plyr__progress--buffer::-moz-progress-bar {
  transition: width .2s ease; }

.plyr__progress--buffer::-ms-fill {
  transition: width .2s ease; }

.plyr--video .plyr__progress--buffer,
.plyr--video .plyr__volume--display {
  background: rgba(255, 255, 255, 0.25); }

.plyr--video .plyr__progress--buffer {
  color: rgba(255, 255, 255, 0.25); }

.plyr--audio .plyr__progress--buffer,
.plyr--audio .plyr__volume--display {
  background: rgba(198, 214, 219, 0.67); }

.plyr--audio .plyr__progress--buffer {
  color: rgba(198, 214, 219, 0.67); }

.plyr--loading .plyr__progress--buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-size: 25px 25px;
  background-repeat: repeat-x;
  background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 0.15) 75%, transparent 75%, transparent);
  color: transparent; }

.plyr--video.plyr--loading .plyr__progress--buffer {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--audio.plyr--loading .plyr__progress--buffer {
  background-color: rgba(198, 214, 219, 0.67); }

.plyr__time {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px; }

.plyr__time + .plyr__time {
  display: none; }
  @media (min-width: 768px) {
    .plyr__time + .plyr__time {
      display: inline-block; } }
  .plyr__time + .plyr__time::before {
    content: '\2044';
    margin-right: 10px; }

.plyr__volume {
  display: none; }

.plyr .plyr__volume {
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative; }
  .plyr .plyr__volume input[type="range"] {
    position: relative;
    z-index: 2; }
  @media (min-width: 480px) {
    .plyr .plyr__volume {
      display: block;
      max-width: 60px; } }
  @media (min-width: 768px) {
    .plyr .plyr__volume {
      max-width: 100px; } }

.plyr--is-ios .plyr__volume,
.plyr--is-ios [data-plyr='mute'] {
  display: none !important; }

.plyr--fullscreen-active {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  z-index: 10000000;
  background: #000;
  border-radius: 0 !important; }
  .plyr--fullscreen-active video {
    height: 100%; }
  .plyr--fullscreen-active .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr--fullscreen-active .plyr__video-embed {
    overflow: visible; }
  .plyr--fullscreen-active .plyr__controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
  .plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

/* YAPL
name: Quick Links
partial: quick-links
context: quick-links.primary-landing
selector: .quick-links
*/
@media print, screen and (min-width: 48em) {
  .quick-links__topic {
    opacity: 0;
    -webkit-transform: translateY(-35%);
        -ms-transform: translateY(-35%);
            transform: translateY(-35%);
    transition: .8s ease;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform; }
    .is-in-view .quick-links__topic {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
      .is-in-view .quick-links__topic:nth-child(2) {
        transition-delay: .2s; }
      .is-in-view .quick-links__topic:nth-child(3) {
        transition-delay: .4s; } }

.quick-links__topic img {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  margin-right: 20px;
  width: 70px; }

@media print, screen and (min-width: 48em) {
  .quick-links__topic:first-child img {
    margin-left: 20px; } }

.quick-links__topic-content {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 35px; }

.quick-links__topic-title {
  border-bottom: 1px solid #b3b3b3;
  padding-bottom: 0.625rem; }

.quick-links__link {
  display: block;
  padding: 0.125rem 0; }

/* YAPL
name: Recommended Items
partial: recommended-items
context: recommended-items.hp1
selector: .recommended__item
*/
.recommended__item {
  display: block;
  transition: color .3s ease; }
  .recommended__item .icon {
    height: 45px;
    width: 45px; }
  .recommended__item h4,
  .recommended__item .h4 {
    line-height: 1.3; }
  .recommended__item .bordered--green h4,
  .recommended__item .bordered--green a {
    transition: color .3s ease; }
    .recommended__item .bordered--green h4 .gray,
    .recommended__item .bordered--green a .gray {
      transition: color .3s ease; }
    .recommended__item .bordered--green h4:hover,
    .recommended__item .bordered--green a:hover {
      color: #15a089; }
      .link--lock .recommended__item .bordered--green h4:hover::after, .link--lock
      .recommended__item .bordered--green a:hover::after {
        color: #252525; }
  .recommended__item:hover .hover-reveal__hidden {
    opacity: 1;
    pointer-events: auto; }
  .recommended__item:hover .bordered--green h4,
  .recommended__item:hover .bordered--green a {
    color: #15a089; }
  .recommended__item:hover .bordered--green .link--lock::after {
    color: #252525; }
  @media screen and (max-width: 29.9375em) {
    .recommended__item h4,
    .recommended__item .h4 {
      font-size: 1rem; }
    .recommended__item .icon {
      height: 30px;
      width: 30px; } }
  @media screen and (max-width: 63.9375em) {
    .recommended__item.recommended__item--locked .hover-reveal .hover-reveal__hidden {
      opacity: 1;
      pointer-events: auto; } }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    .recommended__item h4,
    .recommended__item .h5 {
      font-size: 1.5rem; }
    .whatinput-types-touch .recommended__item.recommended__item--locked .hover-reveal .hover-reveal__hidden {
      opacity: 1;
      pointer-events: auto; } }
  [data-whatintent='touch'] .recommended__item.recommended__item--locked .hover-reveal .hover-reveal__hidden {
    opacity: 1;
    pointer-events: auto; }

/* YAPL
name: Resources Callout
partial: resources-callout
context: resources-callout.press-kit
selector: .resources-callout
*/
.resources-callout .link--contact {
  display: block;
  margin-top: .5rem; }
  .resources-callout .link--contact:first-child {
    margin-top: 0; }
  .resources-callout .link--contact .icon {
    margin-right: 8px; }

.resources-callout__row-left {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 48em) {
    .resources-callout__row-left {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.resources-callout__row-right {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 48em) {
    .resources-callout__row-right {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .resources-callout__row-right .button.link--more {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .resources-callout__row-right .button.link--more {
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        text-align: left; } }
    .resources-callout__row-right .button.link--more .fa-lock {
      margin-left: 0;
      margin-right: 8px; }
      .resources-callout__row-right .button.link--more .fa-lock::before {
        font-size: .9em;
        margin-left: 0; }
  .resources-callout__row-right .resources-callout__headers {
    text-align: center; }
    @media print, screen and (min-width: 30em) {
      .resources-callout__row-right .resources-callout__headers {
        text-align: left; } }

.resources-callout__row-left .resources-callout__column {
  padding: 3.125rem 1.25rem;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .resources-callout__row-left .resources-callout__column {
      padding: 6.25rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .resources-callout__row-left .resources-callout__column {
      max-width: 675px;
      padding: 7.5rem 3.75rem; } }

.resources-callout__row-right .resources-callout__column {
  padding: 3.125rem 2.5rem;
  width: 100%; }
  @media print, screen and (min-width: 30em) {
    .resources-callout__row-right .resources-callout__column {
      padding: 3.125rem 3.75rem; } }
  @media print, screen and (min-width: 48em) {
    .resources-callout__row-right .resources-callout__column {
      padding: 4.375rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .resources-callout__row-right .resources-callout__column {
      max-width: 675px;
      padding: 5.625rem 3.75rem; } }

.resources-callout__text-container {
  border-bottom: 1px solid #fefefe;
  padding-bottom: 2rem; }

.resources-callout__background {
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover; }

.resources-callout__description-container {
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .resources-callout__description-container img {
    height: 60px; }
  @media print, screen and (min-width: 48em) {
    .resources-callout__description-container img {
      height: 75px; } }

.rtf-container h2 {
  margin-bottom: 1.5rem; }

.rtf-container h3 {
  color: #d9541e; }

.rtf-container .rtf > *.icon, .rtf-container .rtf > *:only-child, .rtf-container .rtf > *:first-child {
  margin-top: 0; }

.rtf-container .rtf h1,
.rtf-container .rtf > h1,
.rtf-container .rtf h2,
.rtf-container .rtf > h2,
.rtf-container .rtf h3,
.rtf-container .rtf > h3,
.rtf-container .rtf h4,
.rtf-container .rtf > h4,
.rtf-container .rtf h5,
.rtf-container .rtf > h5,
.rtf-container .rtf h6,
.rtf-container .rtf > h6 {
  margin-top: 2.5rem; }

.rtf-container .rtf > ul,
.rtf-container .rtf > ol {
  margin: 1.5rem 0 1.5rem 1.5rem; }

.rtf-container .rtf--tight-spaced > * {
  margin-top: 0.5rem; }
  .rtf-container .rtf--tight-spaced > *.icon, .rtf-container .rtf--tight-spaced > *:only-child, .rtf-container .rtf--tight-spaced > *:first-child {
    margin-top: 0; }

.rtf-container .captioned-image {
  margin-bottom: 0.9375rem;
  width: 100%; }
  @media print, screen and (min-width: 30em) {
    .rtf-container .captioned-image {
      float: left;
      margin-right: 1.875rem;
      max-width: 50%; } }
  @media print, screen and (min-width: 48em) {
    .rtf-container .captioned-image {
      max-width: 26.875rem;
      width: 50%; } }
  .rtf-container .captioned-image + .rtf {
    margin-top: -0.4375rem; }

.rtf-container p,
.rtf-container li {
  font-family: "arno-pro", "Baskerville", serif;
  font-size: 1.0625rem;
  line-height: 1.4; }
  @media print, screen and (min-width: 64em) {
    .rtf-container p,
    .rtf-container li {
      font-size: 1.25rem; } }

.rtf-container a {
  color: #d9541e; }
  .rtf-container a:visited {
    color: #f9ad4a; }
  .rtf-container a:hover {
    color: #721031; }

.rtf-container ul ul,
.rtf-container ul ol,
.rtf-container ol ul,
.rtf-container ol ol {
  margin-left: 0;
  padding-top: .5rem; }

@media print, screen and (min-width: 48em) {
  .rtf-container ul,
  .rtf-container ol {
    max-width: 85%; } }

.rtf-container li {
  margin: .5rem 0;
  padding-left: 1.5rem;
  position: relative; }
  .rtf-container li:first-child {
    margin-top: 0; }
  .rtf-container li:last-child {
    margin-bottom: 0; }

.rtf-container ul > li::before {
  color: #d9541e;
  content: '\2022';
  display: inline-block;
  font-size: 34px;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 10px; }

.rtf-container ol {
  counter-reset: rtf-ol;
  list-style-type: none; }
  .rtf-container ol > li {
    counter-increment: rtf-ol; }
    .rtf-container ol > li::before {
      content: counter(rtf-ol) ".";
      left: 0;
      list-style-type: decimal;
      position: absolute;
      top: 0; }
    .rtf-container ol > li > ol {
      counter-reset: rtf-ol; }
      .rtf-container ol > li > ol > li {
        counter-increment: rtf-ol; }
        .rtf-container ol > li > ol > li::before {
          content: counter(rtf-ol, lower-alpha) ".";
          list-style-type: lower-alpha; }

.rtf-container table {
  border-collapse: collapse; }
  @media screen and (max-width: 63.9375em) {
    .rtf-container table {
      margin-bottom: 0; } }

.rtf-container th {
  background-color: #c23c33;
  color: #fefefe;
  font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  text-transform: uppercase;
  white-space: nowrap; }
  .rtf-container th:first-child {
    background-color: #a8342c; }

.rtf-container td {
  font-size: 0.875rem;
  padding: 1rem; }
  .rtf-container td:first-of-type {
    font-weight: 500; }

.rtf-container tr:nth-child(odd) td {
  background-color: #f4f4f4; }
  .rtf-container tr:nth-child(odd) td:first-of-type {
    background-color: #e9e9e9; }

.rtf-container tr:nth-child(even) td {
  background-color: #fefefe; }
  .rtf-container tr:nth-child(even) td:first-of-type {
    background-color: #f4f4f4; }

.rtf-container .table__caption {
  display: block;
  font-size: 0.875rem;
  font-weight: 500; }

/* YAPL
name: Section Highlights
partial: section-highlights
context: section-highlights.section-landing
selector: .section-highlights
*/
@media print, screen and (min-width: 64em) {
  .section-highlights__highlight-container:nth-child(odd) {
    padding-right: 1.5625rem; }
  .section-highlights__highlight-container:nth-child(even) {
    padding-left: 1.5625rem; } }

.section-highlights__button {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left; }
  .section-highlights__button .icon {
    background-size: 16px 14px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    height: 40px;
    margin-left: 5px;
    width: 40px; }

.section-highlights__image {
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  min-height: 31.25rem; }

.section-highlights__highlight-title {
  margin-bottom: 0.625rem; }

.section-highlights__text {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

/* YAPL
name: Search Results - Text
partial: search-results
context: search-results.search-page
selector: .search-results--search-page
*/
/* YAPL
name: Search Results - Image
partial: search-results-image-tiles
context: search-results.filterable-list
selector: .search-results--image-tiles
*/
.search-results__item {
  display: block; }

.search-results--image-tiles .search-results__item {
  margin-bottom: 1.5rem;
  padding-bottom: 15px;
  padding-top: 15px; }
  .search-results--image-tiles .search-results__item img {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .search-results--image-tiles .search-results__item {
      margin-bottom: 1.5rem; } }
  .search-results--image-tiles .search-results__item:hover, .search-results--image-tiles .search-results__item:focus {
    background-color: #d9541e;
    color: #fefefe; }

.search-results--image-tiles .search-results__item-flyout {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  left: 0;
  margin: -1px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  -webkit-transform: translateY(-20%);
      -ms-transform: translateY(-20%);
          transform: translateY(-20%);
  transition: .5s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  visibility: hidden;
  width: 1px; }
  .search-results--image-tiles .search-results__item-flyout p {
    margin-bottom: 1rem; }
  .search-results--image-tiles .search-results__item-flyout .filterable-link--external::after {
    color: #ffffff;
    content: '\f08e';
    display: inline-block;
    font-family: "FontAwesome";
    font-size: 1rem;
    margin-left: 6px;
    position: relative;
    top: -6px; }
  .search-results--image-tiles .search-results__item-flyout a:hover,
  .search-results--image-tiles .search-results__item-flyout a:focus,
  .search-results--image-tiles .search-results__item-flyout .filterable-link--external:hover::after,
  .search-results--image-tiles .search-results__item-flyout .filterable-link--external:focus::after {
    color: #f9ad4a; }
  @media print, screen and (min-width: 48em) {
    .search-results--image-tiles .search-results__item-flyout {
      width: 200%; } }

.search-results--image-tiles .search-results__item-flyout-title {
  display: block; }

.search-results--image-tiles .flyout__close {
  height: 14px;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 14px; }
  .search-results--image-tiles .flyout__close .icon {
    display: block;
    height: 100%;
    width: 100%; }

.search-results--image-tiles .search-results__item-container {
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 47.9375em) {
    .search-results--image-tiles .search-results__item-container:nth-of-type(odd) .search-results__item-flyout {
      left: 12.5%; }
      .search-results--image-tiles .search-results__item-container:nth-of-type(odd) .search-results__item-flyout::before {
        left: calc(22.5% - 31px); }
    .search-results--image-tiles .search-results__item-container:nth-of-type(even) .search-results__item-flyout {
      left: -87.5%; }
      .search-results--image-tiles .search-results__item-container:nth-of-type(even) .search-results__item-flyout::before {
        left: calc(77.5% - 31px); } }
  @media print, screen and (min-width: 48em) {
    .search-results--image-tiles .search-results__item-container:nth-of-type(3n-2) .search-results__item-flyout {
      left: 0; }
      .search-results--image-tiles .search-results__item-container:nth-of-type(3n-2) .search-results__item-flyout::before {
        left: calc(22.5% - 31px); }
    .search-results--image-tiles .search-results__item-container:nth-of-type(3n-1) .search-results__item-flyout {
      left: -62.5%; }
      .search-results--image-tiles .search-results__item-container:nth-of-type(3n-1) .search-results__item-flyout::before {
        left: calc(50% - 31px); }
    .search-results--image-tiles .search-results__item-container:nth-of-type(3n) .search-results__item-flyout {
      left: -125%; }
      .search-results--image-tiles .search-results__item-container:nth-of-type(3n) .search-results__item-flyout::before {
        left: calc(77.5% - 31px); } }
  .search-results--image-tiles .search-results__item-container.is-open {
    z-index: 2; }
    .search-results--image-tiles .search-results__item-container.is-open .search-results__item {
      background-color: #d9541e;
      color: #fefefe; }
    .search-results--image-tiles .search-results__item-container.is-open .search-results__item-flyout {
      height: auto;
      margin: 2rem auto 1.5rem;
      opacity: 1;
      overflow: visible;
      padding: 20px 25px;
      position: relative;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      visibility: visible;
      width: 175%; }
      .search-results--image-tiles .search-results__item-container.is-open .search-results__item-flyout::before {
        content: '';
        height: 0;
        position: absolute;
        -webkit-transform: scale(0.9999);
            -ms-transform: scale(0.9999);
                transform: scale(0.9999);
        width: 0;
        border-bottom: 14px solid #d9541e;
        border-left: 31px solid transparent;
        border-right: 31px solid transparent;
        content: '';
        display: block;
        position: absolute;
        top: -14px; }
      @media print, screen and (min-width: 48em) {
        .search-results--image-tiles .search-results__item-container.is-open .search-results__item-flyout {
          width: 225%; } }

.search-results--search-page .search-results__item {
  border: 1px solid #d2d2d2;
  padding: 30px 25px;
  transition: .4s ease;
  transition-property: box-shadow, border; }
  .search-results--search-page .search-results__item:hover, .search-results--search-page .search-results__item:focus {
    border-color: transparent;
    box-shadow: 0 0 1.875rem rgba(37, 37, 37, 0.2);
    color: #252525; }
  @media screen and (max-width: 47.9375em) {
    .search-results--search-page .search-results__item {
      padding: 20px 15px;
      position: relative; }
      .search-results--search-page .search-results__item .link--external {
        padding-right: 25px; }
        .search-results--search-page .search-results__item .link--external::after {
          position: absolute;
          right: 20px;
          top: 20px; } }

.search-results__category-switcher {
  border-bottom: 1px solid #d2d2d2;
  margin-bottom: 1rem;
  padding-bottom: 3px; }
  @media print, screen and (min-width: 48em) {
    .search-results__category-switcher {
      margin-bottom: .5rem; } }

.search-results__category-switcher-link {
  display: inline-block;
  margin: 3px 20px; }
  @media screen and (max-width: 29.9375em) {
    .search-results__category-switcher-link {
      margin: 3px 7px; } }
  .search-results__category-switcher-link:hover, .search-results__category-switcher-link:focus {
    color: #d9541e; }
  .search-results__category-switcher-link.is-active {
    position: relative; }
    .search-results__category-switcher-link.is-active::after {
      background-color: #d9541e;
      bottom: -7px;
      content: '';
      display: block;
      height: 3px;
      left: 0;
      position: absolute;
      right: 0;
      width: 100%; }
  .search-results__category-switcher-link:first-of-type {
    margin-left: 0; }
  .search-results__category-switcher-link:last-of-type {
    margin-right: 0; }

/* YAPL
name: Staff Sections
partial: staff-sections
context: staff-sections.main
selector: .staff-sections
*/
.staff-sections {
  margin-bottom: 4rem; }
  .staff-sections .accordion {
    border: 0; }
  .staff-sections a.accordion-title:not(.button) {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border: 0;
    border-bottom: 2px solid #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (min-width: 48em) {
      .staff-sections a.accordion-title:not(.button) {
        padding-left: 20px; } }
    .staff-sections a.accordion-title:not(.button):hover, .staff-sections a.accordion-title:not(.button):focus {
      background-color: #b6379a;
      color: #fefefe; }
    .staff-sections a.accordion-title:not(.button)::before {
      content: '\f067';
      font-family: "FontAwesome" !important;
      font-size: 1.25rem;
      margin-right: 8px;
      margin-top: 0;
      position: static; }
      @media print, screen and (min-width: 48em) {
        .staff-sections a.accordion-title:not(.button)::before {
          font-size: 1.875rem;
          margin-right: 15px; } }
  .staff-sections .accordion-item.is-active .accordion-title::before {
    content: '\f068'; }
  .staff-sections .accordion-content {
    border: 0;
    padding: 0 1rem; }
    .staff-sections .accordion-content:last-child {
      border: 0; }
    @media print, screen and (min-width: 48em) {
      .staff-sections .accordion-content {
        padding: 0 2.5rem; } }
    .staff-sections .accordion-content > .row {
      border-bottom: 1px solid #d2d2d2;
      margin-top: 2.5rem;
      padding-bottom: 2.5rem; }
      .staff-sections .accordion-content > .row:first-child {
        margin-top: 0;
        padding-top: 2.5rem; }
      .staff-sections .accordion-content > .row:last-child {
        border-bottom: 0; }
  .staff-sections img {
    border-radius: 50%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    height: 95px;
    margin-right: 10px;
    width: 95px; }
    @media print, screen and (min-width: 48em) {
      .staff-sections img {
        height: 130px;
        width: 130px; } }
    @media screen and (min-width: 75em) {
      .staff-sections img {
        height: 165px;
        width: 165px; } }

.splash-search__form .twitter-typeahead {
  position: static !important;
  text-align: left; }

.splash-search__form .tt-menu {
  border-top: 1px solid #b3b3b3;
  box-shadow: 0 1.25rem 2.5rem rgba(37, 37, 37, 0.3);
  max-height: none; }

.splash-search__form .suggestions__header {
  border-bottom: 1px solid #d2d2d2;
  font-size: 1.25rem;
  padding: 25px 30px; }

.splash-search__form a:not(.button) {
  color: #252525; }
  .splash-search__form a:not(.button):hover, .splash-search__form a:not(.button):focus {
    color: #252525; }

.splash-search__form .suggestions__item {
  border-bottom: 1px solid #d2d2d2;
  display: block;
  margin: 0 30px;
  padding: 25px 0; }
  .splash-search__form .suggestions__item:last-of-type {
    border: 0; }
  .splash-search__form .suggestions__item .suggestion__item-title {
    font-size: 1.5rem; }
  .splash-search__form .suggestions__item:hover .suggestion__item-title, .splash-search__form .suggestions__item:focus .suggestion__item-title {
    color: #c23c33; }

.splash-search__form .tt-suggestion:hover {
  background-color: transparent; }

.splash-search__form .suggestions__teaser {
  font-size: 1.125rem; }

/* YAPL
name: Search Results Status Display
partial: search-results-status
selector: .serach-results-status
*/
.search-results-status__container {
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.search-results-status__topic {
  margin-left: 16px;
  position: relative;
  top: -2px; }
  .search-results-status__topic::before {
    color: #d9541e;
    content: '\f057';
    display: inline-block;
    font-family: "FontAwesome";
    font-size: 1.125rem;
    margin-right: 5px;
    transition: color .3s ease; }
  .search-results-status__topic:hover, .search-results-status__topic:focus {
    color: #d9541e; }
  @media screen and (max-width: 47.9375em) {
    .search-results-status__topic {
      background-color: #f0f2f2;
      padding: 11px 13px; }
      .search-results-status__topic:first-of-type {
        margin-left: 0; } }

/* YAPL
name: Section Navigation
partial: section-nav
context: section-nav.section-landing
selector: .section-nav
*/
.primary-landing-nav__items {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.primary-landing-nav__item {
  border-right: 2px solid #b3b3b3;
  font-size: 1.125rem;
  line-height: 1;
  margin-bottom: 10px;
  padding: 0 1.3125rem 0 1.1875rem; }
  .primary-landing-nav__item:last-child {
    border-right: 0;
    padding-right: 0; }
  .primary-landing-nav__item:first-child {
    padding-left: 0; }
  @media screen and (max-width: 29.9375em) {
    .primary-landing-nav__item {
      border: 0;
      display: block;
      margin-bottom: 15px;
      padding: 0;
      text-align: center;
      width: 100%; } }

/* YAPL
name: Sidebar
partial: sidebar
selector: .sidebar
*/
.sidebar .social__title {
  font-size: 1rem; }

@media screen and (max-width: 47.9375em) {
  .sidebar {
    padding: 0 0.6875rem; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .sidebar {
    padding: 0 1rem; } }

@media screen and (max-width: 63.9375em) {
  .sidebar .social {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .sidebar .circular.fa {
    font-size: 1rem;
    height: 2.25rem;
    line-height: 2rem;
    margin: 0.25rem;
    width: 2.25rem; } }

@media print, screen and (min-width: 64em) {
  .sidebar {
    margin-top: 25px;
    position: absolute;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    width: 140px;
    z-index: 4; }
    .sidebar.is-sticky {
      margin-top: 0;
      position: fixed;
      top: 150px; }
    .sidebar .social {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      padding-left: 0.625rem; }
    .sidebar .social__title {
      margin-bottom: 5px;
      width: 100%; }
    .sidebar .circular.fa {
      box-shadow: 0 0 0 2px #fefefe;
      font-size: 0.9375rem;
      height: 2.0625rem;
      line-height: 1.8125rem;
      margin: 0.25rem;
      width: 2.0625rem; }
      .sidebar .circular.fa:nth-child(2), .sidebar .circular.fa:nth-child(5) {
        margin-left: 0; }
      .sidebar .circular.fa:nth-child(4), .sidebar .circular.fa:nth-child(6) {
        margin-right: 0; } }

/* YAPL
name: Sitemap
partial: sitemap
context: sitemap.main
selector: .sitemap
*/
.sitemap .link--more {
  display: block; }
  .sitemap .link--more .icon.fa.fa-chevron-right::before {
    font-size: .6em;
    top: -1px; }

.sitemap .link--external::after {
  color: #252525;
  font-size: .9em;
  top: 0;
  transition: color .3s ease; }

.sitemap .link--external:hover::after, .sitemap .link--external:focus::after {
  color: #d9541e; }

.sitemap .link--external-orange::after {
  color: #d9541e;
  font-size: .9em;
  top: 0;
  transition: color .3s ease; }

.sitemap .link--external-orange:hover::after, .sitemap .link--external-orange:focus::after {
  color: #a00f36; }

.sitemap a.h4:hover {
  color: #d9541e; }

.sitemap a.h5:hover {
  color: #a00f36; }

.sitemap-section {
  margin-right: 2rem; }
  .sitemap-section li {
    padding: 3px 0; }
  @media screen and (max-width: 47.9375em) {
    .sitemap-section {
      border-top: 1px solid #8f8f8f;
      margin-top: 1.5rem;
      padding-top: 2rem; } }
  @media print, screen and (min-width: 48em) {
    .sitemap-section {
      border: 0;
      margin-top: 0;
      padding-top: 0; }
      .sitemap-section ~ .sitemap-section {
        border-top: 1px solid #8f8f8f;
        margin-top: 1.5rem;
        padding-top: 2rem; } }

.sitemap-educators .link--orange {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.sitemap-educators ul {
  padding-left: 2rem; }
  .sitemap-educators ul li a:hover {
    color: #d9541e; }

.social {
  display: block;
  font-size: 1rem;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .social {
      display: inline-block;
      width: auto; } }
  @media screen and (max-width: 47.9375em) {
    .social .circular--icon.fa {
      font-size: 1.5rem;
      height: 2.75rem;
      line-height: 2.5rem;
      width: 2.75rem; } }

.social--connect {
  margin: 0;
  vertical-align: middle; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .social--connect {
      margin-left: .5rem;
      width: 9.375rem; } }
  @media print, screen and (min-width: 64em) {
    .social--connect {
      margin-left: 2rem; } }

.social--right {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 0%; }
  .social--right .circular--icon.fa {
    font-size: 1rem;
    height: 2.0625rem;
    line-height: 1.75rem;
    margin: 0 0.1875rem;
    width: 2.0625rem; }
    .social--right .circular--icon.fa:first-of-type {
      margin-left: 0.5rem; }
  @media print, screen and (min-width: 48em) {
    .social--right {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.social-title {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .social-title {
      font-size: 2.5rem; } }
  @media screen and (min-width: 48em) {
    .social-title {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }

/* YAPL
name: Slider - Cards
partial: slider
context: slider.press-kit
selector: .custom-slider--cards
*/
/* YAPL
name: Slider - Image
partial: image-slider
context: image-slider.portlet
selector: .image-slider
*/
.custom-slider .slider__container {
  min-height: 415px; }
  @media print, screen and (min-width: 48em) {
    .custom-slider .slider__container {
      padding: 2.5rem 1.5rem; } }

@media print, screen and (min-width: 30em) {
  .custom-slider .slider__title {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .custom-slider .slider__title::before, .custom-slider .slider__title::after {
      background-color: #8f8f8f;
      content: '';
      display: inline-block;
      -webkit-flex-shrink: 1;
          -ms-flex-negative: 1;
              flex-shrink: 1;
      height: 1px;
      width: 15%; }
    .custom-slider .slider__title::before {
      margin-right: 30px; }
    .custom-slider .slider__title::after {
      margin-left: 30px; }
  .custom-slider .slider__title-text {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }

@media screen and (max-width: 47.9375em) {
  .custom-slider .flickity-viewport {
    margin-bottom: 4rem;
    overflow: visible;
    padding: 2rem; } }

.custom-slider .flickity-slide {
  margin: 0 4%;
  padding-bottom: 1.5rem;
  width: 80%; }
  @media print, screen and (min-width: 30em) {
    .custom-slider .flickity-slide {
      padding: 0; }
      .custom-slider .flickity-slide .slider-text-container {
        padding-bottom: 1.5rem;
        padding-left: 2rem;
        padding-top: 1.5rem; } }
  @media print, screen and (min-width: 48em) {
    .custom-slider .flickity-slide {
      margin: 0;
      padding: 0;
      width: 100%; }
      .custom-slider .flickity-slide .slider-text-container {
        padding-bottom: 0;
        padding-top: 0; } }

.custom-slider .flickity-image {
  width: 100%; }

.custom-slider .flickity-prev-next-button {
  display: none; }
  @media print, screen and (min-width: 48em) {
    .custom-slider .flickity-prev-next-button {
      background-image: url("../img/icon/arrow-right--green-lime.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px 16px;
      border: 2px solid #81bc00;
      border-radius: 50%;
      display: block;
      height: 40px;
      transition: .4s ease;
      transition-property: background;
      width: 40px; }
      .custom-slider .flickity-prev-next-button svg {
        display: none; }
      .custom-slider .flickity-prev-next-button:hover:not([disabled]), .custom-slider .flickity-prev-next-button:focus:not([disabled]), .custom-slider .flickity-prev-next-button:active:not([disabled]) {
        background-color: #81bc00;
        background-image: url("../img/icon/arrow-right.svg");
        opacity: 1; } }
  .custom-slider .flickity-prev-next-button.next {
    right: -22%;
    top: calc(50% - 20px); }
    @media print, screen and (min-width: 64em) {
      .custom-slider .flickity-prev-next-button.next {
        right: -19%; } }
  .custom-slider .flickity-prev-next-button.previous {
    left: -22%;
    top: calc(50% - 40px);
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
    @media print, screen and (min-width: 64em) {
      .custom-slider .flickity-prev-next-button.previous {
        left: -19%; } }

.custom-slider .flickity-page-dots {
  bottom: -6.25rem;
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 48em) {
    .custom-slider .flickity-page-dots {
      bottom: -2.5rem;
      margin-bottom: 0; } }
  .custom-slider .flickity-page-dots .dot {
    transition: .3s ease;
    transition-property: background-color, opacity; }
    .custom-slider .flickity-page-dots .dot.is-selected {
      background-color: #81bc00; }

.image-slider {
  margin-bottom: 2rem; }
  .image-slider .slider__container {
    min-height: 0;
    padding: 0; }
  .image-slider .flickity-slide {
    padding-bottom: 0; }
  .image-slider .flickity-prev-next-button {
    background-image: url("../img/icon/arrow-right--black.svg");
    border-color: #252525; }
    .image-slider .flickity-prev-next-button:hover:not([disabled]), .image-slider .flickity-prev-next-button:focus:not([disabled]), .image-slider .flickity-prev-next-button:active:not([disabled]) {
      background-color: #252525; }
    .image-slider .flickity-prev-next-button.next {
      right: -10%;
      top: calc(50% - 20px); }
      @media print, screen and (min-width: 64em) {
        .image-slider .flickity-prev-next-button.next {
          right: -7%; } }
    .image-slider .flickity-prev-next-button.previous {
      left: -10%;
      top: calc(50% - 40px);
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
      @media print, screen and (min-width: 64em) {
        .image-slider .flickity-prev-next-button.previous {
          left: -7%; } }
  .image-slider .flickity-page-dots .dot.is-selected {
    background-color: #252525; }
  .image-slider .captioned-image {
    overflow: hidden; }
  .image-slider .in-view-trigger {
    bottom: 0;
    position: absolute;
    z-index: 3; }
    @media screen and (max-width: 47.9375em) {
      .image-slider .in-view-trigger {
        overflow: hidden;
        position: static; } }
  @media print, screen and (min-width: 48em) {
    .image-slider .is-in-view figcaption {
      bottom: 0;
      position: absolute;
      top: auto;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%);
      z-index: 2; }
      .image-slider .is-in-view figcaption.background--black-fade-for-medium {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        min-height: 9.375rem; }
        .is-ie .image-slider .is-in-view figcaption.background--black-fade-for-medium {
          height: 9.375rem; } }
  .image-slider .is-in-view figcaption .in-view-trigger {
    bottom: 0;
    position: absolute;
    width: 100%; }
  .image-slider .is-in-view figcaption .caption__text {
    opacity: 0;
    -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
            transform: translateY(20px); }
    .image-slider .is-in-view figcaption .caption__text::before {
      bottom: 10%;
      height: 0;
      top: auto; }
  .image-slider .is-selected .is-in-view figcaption {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    .image-slider .is-selected .is-in-view figcaption .caption__text {
      opacity: 1;
      position: relative;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
      .image-slider .is-selected .is-in-view figcaption .caption__text::before {
        bottom: 10%;
        height: 80%; }
      @media print, screen and (min-width: 48em) {
        .image-slider .is-selected .is-in-view figcaption .caption__text::before {
          bottom: -30%;
          height: 160%; } }
  .image-slider .is-selected .caption__text {
    opacity: 1; }

/* YAPL
name: Homepage Hero Video
partial: splash
context: splash.home-top
selector: .splash--home
*/
/* YAPL
name: Homepage Video Background Hero
partial: splash
context: splash.home-bottom
selector: .splash--bg-video
*/
/* YAPL
name: Mastersub Hero - Image
partial: splash-secondary
context: splash.ms-top-image
selector: .splash--secondary
*/
/* YAPL
name: Mastersub Hero - No Image
partial: splash-secondary
context: splash.ms-top-noimage
selector: .splash--secondary
*/
/* YAPL
name: Search Hero
partial: splash-search
selector: .splash-search
*/
.splash {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 -12.5rem 12.5rem -12.5rem rgba(37, 37, 37, 0.6);
  color: #fefefe;
  min-height: 28.125rem;
  padding-bottom: 3.125rem;
  text-align: center;
  text-shadow: 0 0 0.5rem rgba(37, 37, 37, 0.6);
  z-index: 2; }
  @media screen and (min-width: 48em) {
    .splash {
      min-height: 33.75rem;
      padding-bottom: 4.375rem; } }
  .splash.splash--video {
    height: 0;
    min-height: 0;
    padding-bottom: 28.125rem;
    position: relative;
    transition: padding-bottom .5s ease;
    will-change: padding-bottom; }
    .splash.splash--video .player.is-active ~ .splash__title,
    .splash.splash--video .player.is-active ~ .splash__text,
    .splash.splash--video .player.is-active ~ .splash__scrim {
      opacity: 0;
      pointer-events: none;
      visibility: hidden; }
    .splash.splash--video .player.is-active ~ .splash__row {
      opacity: 0;
      pointer-events: none;
      visibility: hidden; }
    @media screen and (min-width: 48em) {
      .splash.splash--video {
        padding-bottom: 33.75rem; } }
  .splash.splash--no-hero {
    background: linear-gradient(#0f4775 70%, #0c3d68);
    box-shadow: none;
    text-align: left; }
    @media screen and (max-width: 47.9375em) {
      .splash.splash--no-hero {
        min-height: 0; } }

.splash__row {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  height: 100%;
  transition: opacity .6s ease; }
  .splash__row.column, .splash__row.columns {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
  .splash--video.splash--no-hero .splash__row {
    height: auto; }

.splash__text {
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  transition: opacity .3s ease;
  z-index: 3; }

.splash__title {
  margin: 7rem 0 0;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .splash__title {
      font-size: 2.625rem;
      margin: 4rem 0 0; } }
  .splash--video.splash--home .splash__title {
    left: 0;
    margin: 5rem 0 0;
    position: absolute;
    top: 50%; }
  .splash--no-hero .splash__title {
    margin: 3rem 0 0; }

.splash__subtitle {
  line-height: 1.25;
  margin-top: 1.5rem;
  width: 100%; }

.splash__credit {
  margin-top: 1rem;
  width: 100%; }

.splash__scrim {
  background: rgba(37, 37, 37, 0.7);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: opacity .5s ease;
  width: 100%;
  z-index: 2; }

.splash .plyr .plyr__video-embed {
  padding: 0; }

.splash--bg-video {
  overflow: hidden; }

.splash--secondary .splash__row {
  position: relative;
  z-index: 3; }

.splash--no-image {
  min-height: 11.25rem; }
  .splash--no-image.splash--video {
    height: auto;
    min-height: 11.25rem;
    padding-bottom: 4.375rem;
    transition: none; }
    @media print, screen and (min-width: 48em) {
      .splash--no-image.splash--video {
        padding-bottom: 6.25rem; } }

.splash-search {
  position: relative; }
  .splash-search::after {
    content: '';
    height: 0;
    position: absolute;
    -webkit-transform: scale(0.9999);
        -ms-transform: scale(0.9999);
            transform: scale(0.9999);
    width: 0;
    border-left: 36px solid transparent;
    border-right: 36px solid transparent;
    border-top: 17px solid #84126a;
    bottom: -17px;
    left: calc(50% - 36px);
    position: absolute; }

.splash-search__form {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fefefe;
  box-shadow: 0 0 3.125rem rgba(37, 37, 37, 0.3);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px;
  padding-left: 30px;
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .splash-search__form {
      margin-bottom: 3rem;
      position: relative; }
      .splash-search__form .button {
        left: 0;
        position: absolute;
        top: calc(100% + 1rem);
        width: 100%; }
      .splash-search__form input[type='text'].splash-search__input {
        font-size: 1.75rem; } }
  .splash-search__form::before {
    color: #b3b3b3;
    content: '\f002';
    display: block;
    font-family: "FontAwesome";
    font-size: 2rem; }
  .splash-search__form input[type='text'].splash-search__input {
    color: #252525;
    font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2rem;
    padding-left: 20px;
    position: static !important;
    width: 100%; }
  .splash-search__form .button {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }

.splash--campaign {
  min-height: 28.125rem; }
  @media print, screen and (min-width: 48em) {
    .splash--campaign {
      min-height: 37.5rem; } }
  .splash--campaign .splash__title,
  .splash--campaign .splash__title::after {
    opacity: 0;
    -webkit-transform: translateX(-50px);
        -ms-transform: translateX(-50px);
            transform: translateX(-50px);
    transition: .8s ease;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform; }
  .splash--campaign .splash__title {
    font-family: "Amatic SC", cursive;
    font-size: 6.25rem;
    margin-top: 8rem;
    position: relative;
    transition-delay: .3s; }
    @media print, screen and (min-width: 48em) {
      .splash--campaign .splash__title {
        margin-top: 15rem; } }
    .splash--campaign .splash__title::after {
      background-image: url("../img/campaign-splash-border.png");
      background-repeat: no-repeat;
      background-size: contain;
      content: '';
      display: block;
      height: 1.375rem;
      left: 0;
      margin: 1rem auto 0;
      position: absolute;
      right: 0;
      width: 12.9375rem;
      transition-delay: .45s; }
  .splash--campaign.is-in-view .splash__title,
  .splash--campaign.is-in-view .splash__title::after {
    opacity: 1;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }

/* YAPL
name: Testimonial
partial: testimonial
context: testimonials.section-landing
selector: .testimonial
*/
.testimonial__text p {
  font-size: 1.125rem; }

.testimonial__text a {
  display: block; }

.testimonial__text .testimonial__icon {
  height: 21px;
  margin-right: 5px;
  width: 37px; }

@media print, screen and (min-width: 48em) {
  .testimonial__text {
    padding-left: 3.125rem; }
    .testimonial__text p {
      font-size: 1.25rem; } }

.testimonial__author-block {
  border-right: 10px solid #a00f36;
  padding: 0.9375rem;
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .testimonial__author-block {
      -webkit-flex: 0 0 calc(100% - 55px);
          -ms-flex: 0 0 calc(100% - 55px);
              flex: 0 0 calc(100% - 55px);
      margin-left: 3.125rem;
      padding-left: 4.6875rem; } }
  @media print, screen and (min-width: 48em) {
    .testimonial__author-block {
      border: 0;
      border-bottom: 20px solid #a00f36;
      height: 0%;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      min-width: 290px;
      padding: 0 1.25rem 0.625rem;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .testimonial__author-block {
      padding: 0 2.5rem 0.625rem; } }

.testimonial__author-credentials {
  display: block; }

@media print, screen and (min-width: 48em) {
  .testimonial__author-details {
    position: relative;
    top: -1.875rem; } }

.testimonial__author-image {
  border-radius: 50%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  @media screen and (max-width: 47.9375em) {
    .testimonial__author-image {
      height: 120%;
      left: 0;
      max-height: 105px;
      max-width: 105px;
      position: absolute;
      top: calc(50% - rem-calc(52));
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  @media print, screen and (min-width: 48em) {
    .testimonial__author-image {
      height: 210px;
      position: static;
      -webkit-transform: translateY(-30%);
          -ms-transform: translateY(-30%);
              transform: translateY(-30%);
      width: 210px; } }

/* YAPL
name: Tile List
partial: tile-list
context: list-items.newsroom
selector: .tile-list
*/
.tile-list__results-count {
  font-size: 1rem; }

.tile-list__item {
  margin-top: 2rem;
  opacity: 0;
  -webkit-transform: translateY(15%);
      -ms-transform: translateY(15%);
          transform: translateY(15%);
  transition: .5s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  .tile-list__item:first-child {
    margin-top: 0; }
  @media print, screen and (min-width: 48em) {
    .tile-list__item:nth-child(-n+3) {
      margin-top: 0; } }
  .tile-list__item.is-in-view {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    .tile-list__item.is-in-view:nth-child(3n-1) {
      transition-delay: .2s; }
    .tile-list__item.is-in-view:nth-child(3n) {
      transition-delay: .4s; }

.tile-list__link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  height: 100%;
  min-height: 15.625rem;
  padding-bottom: 6.25rem;
  position: relative;
  transition: .3s ease;
  transition-property: color, background-color; }
  @media print, screen and (min-width: 48em) {
    .tile-list__link {
      min-height: 28.125rem;
      padding-bottom: 6.25rem; } }
  .tile-list__link::after {
    background-color: #f8981d;
    bottom: 30px;
    content: '';
    display: block;
    height: 3px;
    left: 28px;
    position: absolute;
    transition: background-color .3s ease;
    width: calc(100% - 56px); }
  .tile-list__link .icon--pdf {
    background-image: url("../img/icon/pdf--orange.png");
    background-size: contain;
    bottom: 43px;
    height: 2.5rem;
    position: absolute;
    right: 28px;
    transition: background-image .3s ease;
    width: 2.1875rem; }
    @media print, screen and (min-width: 48em) {
      .tile-list__link .icon--pdf {
        bottom: 54px;
        height: 3.1875rem;
        right: 28px;
        width: 2.625rem; } }
  .tile-list__link:hover, .tile-list__link:focus {
    background-color: #f8981d;
    color: #fefefe; }
    .tile-list__link:hover .tile-list__item-date, .tile-list__link:focus .tile-list__item-date {
      color: #fefefe; }
    .tile-list__link:hover::after, .tile-list__link:focus::after {
      background-color: #fefefe; }
    .tile-list__link:hover .icon--pdf, .tile-list__link:focus .icon--pdf {
      background-image: url("../img/icon/pdf--white.png"); }

.tile-list__item-title {
  font-size: 1.5rem; }
  @media print, screen and (min-width: 48em) {
    .tile-list__item-title {
      font-size: 1.75rem; } }
  @media print, screen and (min-width: 64em) {
    .tile-list__item-title {
      font-size: 2rem; } }

.tile-list__item-date {
  color: #f8981d;
  margin-bottom: .5rem;
  transition: color .3s ease; }

.tile-list--magenta-dark .tile-list__link:hover, .tile-list--magenta-dark .tile-list__link:focus {
  background-color: #84126a; }
  .tile-list--magenta-dark .tile-list__link:hover::after, .tile-list--magenta-dark .tile-list__link:focus::after {
    background-color: #fefefe; }

.tile-list--magenta-dark .tile-list__link::after {
  background-color: #84126a; }

.tile-list--magenta-dark .tile-list__item-date {
  color: #84126a; }

/* YAPL
name: All Topics List
partial: all-topics-list
context: topics-list.main
selector: .all-topics-list
*/
/* YAPL
name: Related Topics
partial: related-topics
context: topics-list.related-topics
selector: .related-topics
*/
.all-topics-list {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.related-topics {
  padding: 2.5rem 0; }
  .related-topics > .row {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

.topics__link {
  background-color: #fefefe;
  display: block;
  opacity: 0;
  padding: 1.5rem 10px 1.5rem 30px;
  position: relative;
  transition-duration: .3s, 1s, .3s;
  transition-property: color, opacity, background-color;
  transition-timing-function: ease; }
  .topics__link.is-in-view {
    opacity: 1; }
  @media print, screen and (min-width: 48em) {
    .all-topics-list .topics__link {
      -webkit-flex: 0 0 46%;
          -ms-flex: 0 0 46%;
              flex: 0 0 46%;
      max-width: 46%;
      padding-left: 40px; }
      .all-topics-list .topics__link:nth-of-type(odd) {
        margin-right: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .related-topics .topics__link {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      margin: 0 1rem;
      max-width: 25%;
      padding-left: 40px; } }
  .topics__link::before {
    background-color: #d9541e;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 12px;
    z-index: 1; }
  .topics__link span {
    position: relative;
    z-index: 2; }
  .topics__link:hover, .topics__link:focus {
    background-color: #d9541e;
    color: #fefefe; }
  .topics__link.link--more .icon.fa.fa-chevron-right::before {
    font-size: .55em;
    top: -0.25rem; }

.twitter-typeahead {
  width: 100%; }

.tt-menu {
  background: #fefefe;
  color: #252525;
  font-size: 0.875rem;
  left: 0;
  line-height: 1.1;
  margin: 0;
  max-height: 8.125rem;
  overflow-y: auto;
  right: 0;
  width: 100%; }
  .tt-menu::-webkit-scrollbar {
    background: #b3b3b3;
    height: 100%;
    width: 0.25rem; }
  .tt-menu::-webkit-scrollbar-thumb {
    background: #252525; }

.tt-suggestion {
  padding: 0.5rem; }
  .tt-suggestion p {
    margin: 0; }
  .tt-suggestion.tt-cursor, .tt-suggestion:hover {
    background: #2b9fce;
    color: #fefefe;
    cursor: pointer; }

input.js-typeahead:not(#keyword) {
  display: none;
  z-index: -1; }

/* YAPL
name: Vendor List
partial: sg-vendor-list
selector: .vendor-list
*/
.vendor-list-section {
  margin-top: 4rem; }
  .vendor-list-section h2 {
    margin-bottom: 2rem; }

.vendor-list-section-items {
  opacity: 0;
  -webkit-transform: translateY(-8%);
      -ms-transform: translateY(-8%);
          transform: translateY(-8%);
  transition: .8s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  .vendor-list-section-items.is-in-view {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  @media screen and (min-width: 90em) {
    .vendor-list-section-items.column.row.row, .vendor-list-section-items.row.row.columns {
      margin-left: 0; } }

.vendor-list__item-container {
  left: 0;
  padding: .5rem;
  position: relative;
  z-index: 1; }
  @media print, screen and (min-width: 30em) {
    .vendor-list__item-container:nth-of-type(odd) .vendor-list__item-flyout {
      left: 0; }
    .vendor-list__item-container:nth-of-type(even) .vendor-list__item-flyout {
      left: calc(-100% - 2rem); } }
  @media print, screen and (min-width: 48em) {
    .vendor-list__item-container {
      padding: 1rem; } }
  @media screen and (min-width: 75em) {
    .vendor-list__item-container {
      padding: 1rem .5rem; }
      .vendor-list__item-container:nth-of-type(3n-2) .vendor-list__item-flyout {
        left: 0; }
      .vendor-list__item-container:nth-of-type(3n-1) .vendor-list__item-flyout {
        left: calc(-100% - 1rem); }
      .vendor-list__item-container:nth-of-type(3n) .vendor-list__item-flyout {
        left: calc(-200% - 2rem); } }
  @media screen and (min-width: 90em) {
    .vendor-list__item-container {
      padding: 1rem; }
      .vendor-list__item-container:nth-of-type(3n-1) .vendor-list__item-flyout {
        left: calc(-100% - 2rem); }
      .vendor-list__item-container:nth-of-type(3n) .vendor-list__item-flyout {
        left: calc(-200% - 4rem); } }
  .vendor-list__item-container.is-open {
    z-index: 2; }
    .vendor-list__item-container.is-open .vendor-list__item {
      background-color: #d9541e;
      color: #fefefe; }
    .vendor-list__item-container.is-open .vendor-list__item-flyout {
      background-color: #fefefe;
      height: auto;
      margin: 3rem auto 1.5rem;
      opacity: 1;
      overflow: visible;
      padding: 2.5rem 1rem;
      position: relative;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      visibility: visible;
      width: 100%; }
      .vendor-list__item-container.is-open .vendor-list__item-flyout::before {
        content: '';
        height: 0;
        position: absolute;
        -webkit-transform: scale(0.9999);
            -ms-transform: scale(0.9999);
                transform: scale(0.9999);
        width: 0;
        border-bottom: 14px solid #fefefe;
        border-left: 31px solid transparent;
        border-right: 31px solid transparent;
        content: '';
        display: block;
        left: calc(50% - 31px);
        position: absolute;
        top: -14px; }
      @media print, screen and (min-width: 30em) {
        .vendor-list__item-container.is-open .vendor-list__item-flyout {
          padding: 2.5rem 1.5rem;
          width: calc(200% + 2rem); } }
      @media screen and (min-width: 75em) {
        .vendor-list__item-container.is-open .vendor-list__item-flyout {
          padding: 3.5rem 2.5rem;
          width: calc(300% + 2rem); } }
      @media screen and (min-width: 90em) {
        .vendor-list__item-container.is-open .vendor-list__item-flyout {
          padding: 3.5rem 2.5rem;
          width: calc(300% + 4rem); } }

.vendor-list__item-tile {
  background-color: #fefefe;
  padding: 1.5rem;
  padding-bottom: 0; }

.vendor-list__tile-link {
  background-color: #fefefe;
  display: block;
  height: 50px;
  left: -1.5rem;
  position: relative;
  width: calc(100% + 3rem); }
  .vendor-list__tile-link::after {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #2b9fce;
    border-radius: 50%;
    color: #fefefe;
    content: '\f054';
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-family: "FontAwesome";
    font-size: 0.875rem;
    height: 32px;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: calc(50% - 16px);
    position: absolute;
    text-indent: 2px;
    top: calc(50% - 16px);
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    transition: .3s ease;
    transition-property: background-color, color, -webkit-transform;
    transition-property: transform, background-color, color;
    transition-property: transform, background-color, color, -webkit-transform;
    width: 32px; }
  .vendor-list__tile-link::before {
    background-color: #2b9fce;
    content: '';
    display: block;
    height: 3px;
    left: 10%;
    position: relative;
    width: 80%; }
  .is-open .vendor-list__tile-link {
    background-color: #2b9fce; }
    .is-open .vendor-list__tile-link::after {
      background-color: #fefefe;
      color: #2b9fce;
      -webkit-transform: rotate(-90deg);
          -ms-transform: rotate(-90deg);
              transform: rotate(-90deg); }
  .vendor-list__tile-link:hover, .vendor-list__tile-link:focus {
    background-color: #2b9fce; }
    .vendor-list__tile-link:hover::after, .vendor-list__tile-link:focus::after {
      background-color: #fefefe;
      color: #2b9fce; }

.vendor-list__item-flyout {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  left: 0;
  margin: -1px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  -webkit-transform: translateY(-20%);
      -ms-transform: translateY(-20%);
          transform: translateY(-20%);
  transition: .5s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  visibility: hidden;
  width: 1px; }
  .vendor-list__item-flyout .flyout__close {
    height: 16px;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 16px; }
    .vendor-list__item-flyout .flyout__close .icon {
      display: block;
      height: 100%;
      width: 100%; }
    @media print, screen and (min-width: 48em) {
      .vendor-list__item-flyout .flyout__close {
        height: 24px;
        right: 24px;
        top: 24px;
        width: 24px; } }
  .vendor-list__item-flyout .link {
    display: block; }
  .vendor-list__item-flyout .button {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-left: 1.375rem; }
    .vendor-list__item-flyout .button .icon.fa-external-link {
      color: inherit;
      left: -0.625rem;
      top: -0.1875rem; }
      .vendor-list__item-flyout .button .icon.fa-external-link::before {
        margin-left: 0; }

.vendor-list.accordion.custom-accordion {
  background: transparent; }
  @media print, screen and (min-width: 48em) {
    .vendor-list.accordion.custom-accordion .accordion-title {
      border: 0;
      color: #252525;
      cursor: default;
      font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
      font-weight: 500; }
      .vendor-list.accordion.custom-accordion .accordion-title::before {
        display: none; }
      .vendor-list.accordion.custom-accordion .accordion-title:hover, .vendor-list.accordion.custom-accordion .accordion-title:focus {
        background-color: transparent;
        outline: none; }
    .vendor-list.accordion.custom-accordion .accordion-item:last-child:not(.is-active) > .accordion-title {
      border: 0; }
    .vendor-list.accordion.custom-accordion .accordion-content {
      background: transparent !important;
      display: block !important;
      height: auto !important;
      overflow: visible !important;
      padding: 0 !important; } }
  @media screen and (max-width: 47.9375em) {
    .vendor-list.accordion.custom-accordion .vendor-list-section {
      margin: 0 .5rem;
      padding: 0; }
    .vendor-list.accordion.custom-accordion .accordion-item.is-active .vendor-list-section-items {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    .vendor-list.accordion.custom-accordion .accordion-title {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #2b9fce;
      border-color: #fefefe;
      color: #fefefe;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-family: "franklin-gothic-urw", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1.5rem;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      letter-spacing: .08em;
      padding-left: 1.25rem;
      text-align: left;
      text-transform: uppercase; }
      .vendor-list.accordion.custom-accordion .accordion-title::before {
        content: '\f067';
        font-family: "FontAwesome" !important;
        font-size: 1.25rem;
        margin-right: 0.75rem;
        margin-top: 0;
        position: static; }
      .vendor-list.accordion.custom-accordion .accordion-title:focus {
        outline: none; }
    .vendor-list.accordion.custom-accordion .accordion-item:last-child:not(.is-active) > .accordion-title {
      border-color: #fefefe; }
    .vendor-list.accordion.custom-accordion .accordion-item.is-active .accordion-title::before {
      content: '\f068'; } }

@media only screen and (min-width: 30em) {
  .vendor-list-section-items .vendor-list__item-container:last-child:nth-child(2n + 1) .vendor-list__item-flyout {
    left: calc(-50% - 1rem); } }

@media only screen and (min-width: 75em) {
  .vendor-list-section-items .vendor-list__item-container:last-child:nth-child(3n + 1) .vendor-list__item-flyout {
    left: calc(-100% - 1rem); }
  .vendor-list-section-items .vendor-list__item-container:last-child:nth-child(5n) .vendor-list__item-flyout {
    left: calc(-150% - 1.5rem); }
  .vendor-list-section-items .vendor-list__item-container:nth-child(4n):nth-last-child(2n) .vendor-list__item-flyout {
    left: calc(-50% - .5rem); } }

/* YAPL
name: Vendor Spotlight
partial: vendor-spotlight
context: vendor-spotlight.marketplace
selector: .vendor-spotlight
*/
/* YAPL
name: Vendor Spotlight - Short
partial: vendor-spotlight
context: vendor-spotlight.portlet-short
selector: .vendor-spotlight
*/
.vendor-spotlight__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 2rem 0;
  max-width: 500px;
  padding: 0; }
  .vendor-spotlight__item img {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    min-height: 0%; }
  @media print, screen and (min-width: 48em) {
    .vendor-spotlight__item {
      margin: 3rem 1rem; } }
  @media print, screen and (min-width: 64em) {
    .vendor-spotlight__item {
      margin: 3rem 2rem; } }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    .vendor-spotlight--narrow .vendor-spotlight__item {
      margin-left: 1rem;
      margin-right: 1rem; } }

.vendor-spotlight-short__image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .vendor-spotlight-short__image {
      height: 300px; } }

.vendor-spotlight__item-inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.5rem;
  text-align: left; }
  .vendor-spotlight__item-inner .button {
    border: 0;
    padding: 19px 20px;
    text-align: left; }
    .vendor-spotlight__item-inner .button .fa-external-link {
      margin-right: 8px; }
      .vendor-spotlight__item-inner .button .fa-external-link::before {
        margin-left: 0; }
    .vendor-spotlight__item-inner .button.button--magenta-dark:hover {
      background-color: #600d4d; }
      .vendor-spotlight__item-inner .button.button--magenta-dark:hover .icon--arrow-right {
        background-color: #fefefe;
        background-image: url("../img/icon/arrow-right--magenta-dark-hover.svg"); }
    .vendor-spotlight__item-inner .button.button--red-brick:hover .icon--arrow-right {
      background-color: #fefefe;
      background-image: url("../img/icon/arrow-right--red-brick-hover.svg"); }
    @media screen and (max-width: 47.9375em) {
      .vendor-spotlight__item-inner .button {
        line-height: 1.2;
        text-align: center; } }
  .vendor-spotlight__item-inner .link--more:hover .fa-external-link {
    left: 0; }

/* YAPL
name: Campaign Header
partial: campaign-header
selector: .campaign-header
*/
.campaign-header {
  height: 7.875rem; }
  .campaign-header .row {
    height: 100%; }
  .campaign-header .header__bottom {
    padding-bottom: 1rem; }
    .campaign-header .header__bottom > .row {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media screen and (max-width: 29.9375em) {
        .campaign-header .header__bottom > .row {
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      @media print, screen and (min-width: 30em) {
        .campaign-header .header__bottom > .row {
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap; } }
  .campaign-header .button--orange-light {
    color: #d9541e;
    font-size: 1rem; }
    @media screen and (max-width: 29.9375em) {
      .campaign-header .button--orange-light {
        margin-top: .25rem; } }
    @media print, screen and (min-width: 48em) {
      .campaign-header .button--orange-light {
        font-size: 1.25rem;
        padding-left: 2.8125rem;
        padding-right: 2.8125rem; } }
    .campaign-header .button--orange-light:hover, .campaign-header .button--orange-light:focus {
      color: #fefefe; }
  @media screen and (max-width: 29.9375em) {
    .campaign-header .campaign-header__cta {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .campaign-header .campaign-header__cta .button {
        margin-top: .5rem; } }

/* YAPL
name: Campaign Infographic
partial: campaign-infographic
context: campaign-infographic.campaign-landing
selector: .campaign-infographics
*/
@media screen and (max-width: 29.9375em) {
  .campaign-infographic .campaign-infographic__item {
    border-top: 0.0625rem solid #d2d2d2; }
    .campaign-infographic .campaign-infographic__item:first-child {
      border-top: none; } }

@media print, screen and (min-width: 30em) {
  .campaign-infographic .campaign-infographic__item:nth-child(2n-1) {
    border-right: 0.0625rem solid #d2d2d2; } }

@media print, screen and (min-width: 48em) {
  .campaign-infographic .campaign-infographic__item {
    border-right: 0.0625rem solid #d2d2d2; }
    .campaign-infographic .campaign-infographic__item:last-child {
      border-right: none; } }

@media screen and (min-width: 90em) {
  .campaign-infographic .campaign-infographic__item:first-child {
    border-left: 0.0625rem solid #d2d2d2; }
  .campaign-infographic .campaign-infographic__item:last-child {
    border-right: 0.0625rem solid #d2d2d2; } }

.campaign-infographic .campaign-infographic__item {
  opacity: 0;
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
  transition: .4s ease;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  .campaign-infographic .campaign-infographic__item:nth-child(2) {
    transition-delay: .15s; }
  .campaign-infographic .campaign-infographic__item:nth-child(3) {
    transition-delay: .3s; }
  .campaign-infographic .campaign-infographic__item:nth-child(4) {
    transition-delay: .45s; }

.campaign-infographic.is-in-view .campaign-infographic__item {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

/* YAPL
name: Campaign Landing - Main Feature
partial: sg-campaign-landing-main
selector: .campaign-landing-main
context: campaing-landing
*/
.campaign-landing-main .campaign-landing__text-callout {
  position: relative;
  z-index: 2; }

.campaign-landing-main .campaign-landing__text-block {
  padding: 2.5rem 3.125rem;
  position: relative;
  top: 0;
  transition: top .6s ease; }

.campaign-landing-main .campaign-landing__image-block {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 47.9375em) {
    .is-ie .campaign-landing-main .campaign-landing__image-block img {
      width: 100%; } }

.campaign-landing-main .link--more {
  color: #fefefe; }
  .campaign-landing-main .link--more:hover, .campaign-landing-main .link--more:focus {
    color: #fefefe; }

.campaign-landing-main p {
  font-size: 1.25rem; }

@media print, screen and (min-width: 48em) {
  .campaign-landing-main .campaign-landing__text-callout--top {
    margin-top: 0;
    transition: margin-top .6s ease; }
    .campaign-landing-main .campaign-landing__text-callout--top .campaign-landing__image-block {
      height: 0%;
      margin-bottom: 10rem; }
    .campaign-landing-main .campaign-landing__text-callout--top .link--more {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .campaign-landing-main .campaign-landing__player {
    position: relative;
    top: -5rem;
    z-index: 1; }
    .campaign-landing-main .campaign-landing__player .splash--video {
      padding-bottom: 40.625rem; }
  .campaign-landing-main .campaign-landing__text-callout--bottom {
    position: relative;
    top: -10rem;
    transition: .6s ease;
    transition-property: top, margin-top;
    z-index: 2; }
  .campaign-landing-main.is-video-started .campaign-landing__text-callout--top .campaign-landing__text-block {
    margin-top: 4rem;
    top: -8rem; }
  .campaign-landing-main.is-video-started .campaign-landing__text-callout--bottom {
    margin-bottom: 6rem;
    top: -2rem; }
  .is-ie .campaign-landing-main .campaign-landing__image-block img {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; } }

/* YAPL
name: Campaign Quote
partial: campaign-quote
context: featured-quotes.campaign-landing
selector: .campaign-quote
*/
.campaign-quote {
  margin-bottom: 5rem; }
  .campaign-quote .featured-quote__text {
    font-size: 3.4375rem;
    padding: 4.6875rem 0; }
    @media screen and (max-width: 47.9375em) {
      .campaign-quote .featured-quote__text {
        font-size: 2.8125rem;
        padding: 3.75rem 0; } }
  .campaign-quote::before, .campaign-quote::after {
    background-image: url("../img/icon/campaign-quote--teal.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    display: block;
    height: 3.25rem;
    position: absolute;
    width: 5.125rem;
    z-index: 3; }
  .campaign-quote::before {
    left: calc(50% - 41px);
    top: -1rem; }
  .campaign-quote::after {
    bottom: -1rem;
    right: calc(50% - 41px);
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

/* YAPL
name: Campaign Image Feature
partial: campaign-image-feature
context: campaign-images.campaign-landing
selector: .campaign-image-feature
*/
.campaign-image-feature {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative; }
  .campaign-image-feature .campaign-image__image-container {
    border-top: 1.25rem solid #f8981d; }
    .campaign-image-feature .campaign-image__image-container img {
      width: 100%; }
  .campaign-image-feature .campaign-image__text-container {
    background-color: #fefefe;
    padding: 1.5625rem 1.25rem 1.875rem; }
  @media print, screen and (min-width: 48em) {
    .campaign-image-feature .campaign-image__image-container {
      width: 80%; }
    .campaign-image-feature .campaign-image__text-container {
      bottom: 2.5rem;
      opacity: 0;
      padding: 2.8125rem 3.125rem 3.125rem;
      position: absolute;
      right: 0;
      -webkit-transform: translateX(60px);
          -ms-transform: translateX(60px);
              transform: translateX(60px);
      transition-delay: .2s;
      transition-property: opacity, -webkit-transform;
      transition-property: opacity, transform;
      transition-property: opacity, transform, -webkit-transform;
      transition: .6s ease;
      width: 65%; }
      .campaign-image-feature .campaign-image__text-container.is-in-view {
        opacity: 1;
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0); } }
  @media screen and (min-width: 75em) {
    .campaign-image-feature .campaign-image__image-container {
      width: 65%; }
    .campaign-image-feature .campaign-image__text-container {
      bottom: 4.6875rem;
      width: 55%; } }

/* YAPL
name: Button Row
partial: button-row
context: button-row
selector: .button-row
*/
.button-row {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 48em) {
    .button-row {
      -webkit-justify-content: space-around;
          -ms-flex-pack: distribute;
              justify-content: space-around; } }

.locations {
  width: 100%; }
  .locations .button {
    padding: 0.4375rem 0.9375rem; }
    .locations .button.button--orange:hover, .locations .button.button--orange:focus {
      border-color: #f8981d; }
  .locations .accredited .fa-map-marker {
    color: #81bc00; }
  .locations .accredited.map-infowindow-content {
    border-color: #81bc00; }
  .locations .accredited.locations-results__item.is-selected {
    border-left: 0.375rem solid #81bc00; }
  .locations .not-accredited .fa-map-marker {
    color: #2b9fce; }
  .locations .not-accredited.map-infowindow-content {
    border-color: #2b9fce; }
  .locations .not-accredited.locations-results__item.is-selected {
    border-left: 0.375rem solid #2b9fce; }
  .locations .on-pathway .fa-map-marker {
    color: #84126a; }
  .locations .on-pathway.map-infowindow-content {
    border-color: #84126a; }
  .locations .on-pathway.locations-results__item.is-selected {
    border-left: 0.375rem solid #84126a; }

.locations-search {
  padding: 0.9375rem; }
  .locations-search .field {
    border: 0.0625rem solid #d2d2d2; }
  .locations-search .button {
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0; }
  @media screen and (max-width: 47.9375em) {
    .locations-search {
      background-color: #fefefe;
      padding: 0.625rem 0; }
      .locations-search .field {
        margin-top: 0; }
        .locations-search .field .button:last-child {
          -webkit-flex-grow: 0;
              -ms-flex-positive: 0;
                  flex-grow: 0;
          padding-left: 0;
          padding-right: 0;
          text-transform: capitalize;
          width: 4.6875rem; }
        .locations-search .field .label-text {
          font-size: 0.875rem; } }
  @media screen and (max-width: 63.9375em) {
    .locations-search .field + .button {
      -webkit-flex-grow: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      margin-left: 0;
      margin-right: 0.625rem;
      padding: 0;
      width: 2.5625rem; }
      .locations-search .field + .button .icon.fa {
        left: 0; }
        .locations-search .field + .button .icon.fa::before {
          margin: 0;
          position: relative;
          top: -0.125rem; } }
  .locations-search .input-group .button {
    max-width: 8.4375rem; }
    .locations-search .input-group .button.link--more .icon.fa.fa-chevron-right::before {
      top: -.05rem; }
  .locations-search .input-group {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

.locations-results {
  height: calc(50vh - 50px);
  max-height: 43.75rem;
  min-height: 12.5rem;
  padding: 0.9375rem 0; }
  @media screen and (max-width: 47.9375em) {
    .locations-results {
      margin-top: 0;
      padding: 0.3125rem 0 0.9375rem; } }
  @media print, screen and (min-width: 48em) {
    .locations-results {
      border-top: 0.5rem solid #fefefe;
      height: calc(100vh - 190px);
      transition: border-color .6s ease; }
      .locations-filter.is-showing-filters ~ .locations-results {
        border-color: #f0f2f2; }
        .locations-filter.is-showing-filters ~ .locations-results .mCSB_scrollTools {
          opacity: 0; } }

.locations-map {
  height: calc(50vh - 60px);
  max-height: 43.75rem;
  min-height: 12.5rem; }
  @media print, screen and (min-width: 48em) {
    .locations-map {
      height: calc(99vh - 191px); } }
  @media screen and (min-width: 120em) {
    .locations-map {
      height: calc(90vh - 190px); } }
  .locations-map .locations-map__canvas {
    height: 100%; }
    @media screen and (max-width: 47.9375em) {
      .locations-map .locations-map__canvas {
        margin-top: 0; } }
  .locations-map .infoBox {
    background-color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0; }
    .locations-map .infoBox > img {
      height: 10px;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      width: 10px; }
    .locations-map .infoBox::before {
      content: '';
      height: 0;
      position: absolute;
      -webkit-transform: scale(0.9999);
          -ms-transform: scale(0.9999);
              transform: scale(0.9999);
      width: 0;
      border-bottom: 10px solid #fefefe;
      border-left: 17.5px solid transparent;
      border-right: 17.5px solid transparent;
      left: 17px;
      top: -10px; }
  .locations-map .map-infowindow-content {
    border-left: 0.3125rem solid transparent;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding: 0.625rem;
    padding-right: 0; }

.locations-results > .mCSB_inside > .mCSB_container {
  margin-right: 0.625rem; }

.locations-results__items {
  padding: 0.625rem 0.9375rem; }

.locations-results__item {
  background-color: #fefefe;
  border: 0.0625rem solid #d2d2d2;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1rem;
  padding: 0.9375rem;
  transition: .4s ease;
  transition-property: border, box-shadow; }
  .locations-results__item:last-child {
    margin-bottom: 0; }
  .locations-results__item:hover, .locations-results__item:focus {
    box-shadow: 0 0 1.25rem rgba(37, 37, 37, 0.2); }
  .locations-results__item .button {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 0%; }
  .locations-results__item .fa-map-marker {
    margin-right: 0.1875rem;
    position: relative;
    top: -0.25rem; }
  .locations-results__item .locations-results__item-content {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
  .locations-results__item .locations-results__image {
    display: block;
    margin-right: 1rem;
    max-width: 4.375rem; }
    @media screen and (max-width: 29.9375em) {
      .locations-results__item .locations-results__image {
        margin-right: .75rem;
        max-width: 2.8125rem; } }
  @media screen and (max-width: 47.9375em) {
    .locations-results__item .locations-results__title {
      font-size: 1.125rem;
      line-height: 1.1; }
    .locations-results__item p {
      font-size: 0.875rem;
      line-height: 1.1; } }
  @media screen and (max-width: 63.9375em) {
    .locations-results__item .locations-results__view-more {
      border: 0;
      color: #d9541e;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-family: "franklin-gothic-urw-cond", "Helvetica Neue Condensed", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 500;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0;
      padding-right: 0.625rem;
      width: 100%; }
      .locations-results__item .locations-results__view-more:hover, .locations-results__item .locations-results__view-more:focus {
        background-color: transparent;
        color: #f8981d; } }

.locations-map-legend {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.75rem 0.625rem 0.8125rem; }
  @media print, screen and (min-width: 48em) {
    .locations-map-legend {
      height: 4.4375rem;
      padding: 0.75rem 1.25rem; } }
  .locations-map-legend .locations-map__key {
    line-height: 1.2;
    margin-right: 0.5rem;
    margin-top: 0.3125rem;
    padding-left: 1.25rem;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      .locations-map-legend .locations-map__key {
        font-size: 0.875rem; } }
    .locations-map-legend .locations-map__key:last-child {
      margin-right: 0; }
  .locations-map-legend .fa-map-marker {
    font-size: 1.5em;
    left: 0;
    position: absolute;
    top: calc(50% - 12px); }

.locations--left {
  position: relative; }

.locations-filter .filters__button-group {
  padding: 0.9375rem;
  padding-bottom: 1.875rem;
  padding-left: 1.875rem; }
  .locations-filter .filters__button-group .button {
    text-transform: capitalize; }

.locations-filter .filters__clear-button {
  margin-right: 0.9375rem;
  opacity: 1;
  transition: .4s ease;
  transition-property: visibility, opacity, margin;
  visibility: visible; }
  .locations-filter .filters__clear-button.is-hidden {
    margin-right: 0;
    opacity: 0;
    visibility: hidden; }

@media print, screen and (min-width: 48em) {
  .locations-filter .filters__groups-container {
    background-color: transparent;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    -webkit-transform: scale(1.03) translateZ(0);
            transform: scale(1.03) translateZ(0);
    transition: .5s ease;
    transition-property: visibility, opacity, -webkit-transform;
    transition-property: visibility, opacity, transform;
    transition-property: visibility, opacity, transform, -webkit-transform;
    visibility: hidden;
    z-index: 7;
    height: calc(100% - 30px);
    margin: 0.9375rem 1.875rem;
    width: calc(100% - 60px); }
    .locations-filter .filters__groups-container.is-showing {
      opacity: 1;
      -webkit-transform: scale(1) translateZ(0);
              transform: scale(1) translateZ(0);
      visibility: visible; }
  .locations-filter .filters__close {
    left: auto;
    right: 0.9375rem; }
  .locations-filter .filters__groups-inner {
    border: 1px solid #d2d2d2;
    height: 100%;
    overflow: hidden;
    width: 100%; }
  .locations-filter .filters__filter-groups {
    background-color: #fefefe;
    border: 0;
    border-top: 1px solid #d2d2d2;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    height: 100%;
    margin: 0;
    max-height: calc(100% - 140px);
    overflow: hidden;
    padding-bottom: 0.9375rem;
    width: 100%; }
  .locations-filter .filters__group-container {
    margin: 0;
    max-height: none;
    overflow: hidden; }
  .locations-filter .filters__group {
    border-top: 1px solid #d2d2d2;
    margin: 0; }
    .locations-filter .filters__group:first-of-type {
      border-top: 0; }
    .locations-filter .filters__group:last-of-type {
      border-bottom: 1px solid #d2d2d2;
      transition: border .3s ease; }
      .locations-filter .filters__group:last-of-type.is-open {
        border-bottom: 1px solid transparent; }
    .locations-filter .filters__group.is-open .filters__group-header::after {
      content: '\f068'; }
    .locations-filter .filters__group.is-open .filters__group-status {
      height: 0;
      margin-top: 0;
      opacity: 0;
      padding-top: 0;
      visibility: hidden; }
    .locations-filter .filters__group.is-open .filters__group-items {
      max-height: 1000px;
      padding: 14px 14px 14px 30px; }
    .locations-filter .filters__group .filters__group-header-text {
      padding-right: 0.625rem; }
    .locations-filter .filters__group .filters__group-header {
      -webkit-align-items: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      background-color: #fefefe;
      color: #252525;
      cursor: pointer;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .locations-filter .filters__group .filters__group-header::after {
        content: '\f067';
        color: inherit;
        display: inline-block;
        font-family: "FontAwesome";
        font-size: 0.75rem;
        height: 12px;
        width: 12px; }
    .locations-filter .filters__group .filters__group-status {
      display: block;
      font-size: 1rem;
      margin-top: .5rem;
      opacity: 1;
      overflow: hidden;
      transition: .4s ease;
      transition-property: opacity, visibility;
      visibility: visible;
      width: 100%; }
      .locations-filter .filters__group .filters__group-status.is-hidden {
        height: 0;
        margin-top: 0;
        opacity: 0;
        padding-top: 0;
        visibility: hidden; }
  .locations-filter .filters__group-items {
    max-height: 0;
    padding: 0 14px 0 30px;
    transition: .5s ease, .7s ease;
    transition-property: max-height, padding; } }

@media screen and (max-width: 47.9375em) {
  .locations-filter .filters__groups-inner {
    -webkit-flex: 0 0 80%;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%; }
  .locations-filter .filters__group-container {
    width: 100%; }
  .locations-filter .filters__groups-container {
    margin: 0; }
  .locations-filter .filters__group-header {
    background-color: #fefefe;
    color: #252525; }
  .locations-filter .filters__groups-inner > .filters__group-header {
    background-color: #15a089;
    color: #fefefe;
    font-size: 1.125rem;
    margin-bottom: 0.625rem;
    line-height: 1.333; }
  .locations-filter .filters__filter-groups {
    width: 100%;
    border-bottom: 0; }
  .locations-filter .filters__group-status {
    display: none; }
  .locations-filter .filters__button-group {
    padding: 0.9375rem;
    padding-top: 0.3125rem;
    border-bottom: 0.0625rem solid #d2d2d2; }
    .locations-filter .filters__button-group .icon--close-gray {
      background-image: url("../img/icon/close--white.svg"); } }

.find-school-tep-content a {
  color: #d9541e; }
  .find-school-tep-content a:visited {
    color: #f9ad4a; }
  .find-school-tep-content a:hover {
    color: #721031; }

/* YAPL
name: Featured Locations
partial: featured-locations
context: featured-locations.find-a-school
selector: .featured-locations
*/
.featured-locations__location-container {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 48em) {
    .featured-locations__location-container:first-child {
      padding-right: 0.9375rem; }
    .featured-locations__location-container:last-child {
      padding-left: 0.9375rem; } }

.featured-locations__image-container {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 15.625rem; }
  @media print, screen and (min-width: 30em) {
    .featured-locations__image-container {
      min-height: 12.5rem; } }

.featured-locations__text-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0.9375rem; }
  .featured-locations__text-container .link {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end; }
    .featured-locations__text-container .link:hover, .featured-locations__text-container .link:focus {
      color: #fefefe; }

/* YAPL
name: Profile Details
partial: sg-profile-details
context: profiles.school-profile
selector: .profile-details
*/
.profile-details .profile-details__program-group {
  border-top: 0.0625rem solid #d2d2d2;
  padding-top: 1.5625rem; }

@media print, screen and (min-width: 48em) {
  .profile-details .profile-details__facts-group {
    border-right: 0.0625rem solid #d2d2d2;
    padding-right: 2.1875rem; } }

.profile-details .profile-details__facts-list {
  padding-left: 1rem; }

.profile-details .profile-details__program-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%; }
  @media print, screen and (min-width: 30em) {
    .profile-details .profile-details__program-list {
      max-height: 7.8125rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .profile-details .profile-details__program-list {
      max-height: none; } }
  .profile-details .profile-details__program-list li {
    padding-left: 1.125rem;
    position: relative;
    width: 100%; }
    @media print, screen and (min-width: 30em) {
      .profile-details .profile-details__program-list li {
        width: calc(50% - 16px); } }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .profile-details .profile-details__program-list li {
        width: 100%; } }
    .profile-details .profile-details__program-list li::before {
      background-color: #d9541e;
      border-radius: 50%;
      content: '';
      display: block;
      height: 0.5rem;
      left: 0;
      position: absolute;
      top: 0.5rem;
      width: 0.5rem; }

.profile-details .profile-details__pathway-image {
  float: left;
  margin-bottom: .5rem;
  margin-right: 1rem; }

.profile-details .profile-details__pathway-group {
  border-top: 0.0625rem solid #d2d2d2;
  padding-top: 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .profile-details .profile-details__pathway-group {
      border-top: 0;
      padding-left: 2.1875rem;
      padding-top: 0; } }

/* YAPL
name: Profile Contact Details
partial: profile-contact
context: contact.school-profile
selector: .profile-contact
*/
.profile-contact .profile-contact__left {
  padding: 1.875rem; }
  @media print, screen and (min-width: 48em) {
    .profile-contact .profile-contact__left {
      padding: 2.5rem 2.1875rem 2.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .profile-contact .social--right {
    margin-left: 0;
    margin-top: 1rem;
    padding-left: 0; }
    .profile-contact .social--right .fa:first-child {
      margin-left: 0; } }

.profile-contact .profile-contact__contact-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%; }
  @media print, screen and (min-width: 30em) {
    .profile-contact .profile-contact__contact-details {
      max-height: 7.5rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .profile-contact .profile-contact__contact-details {
      max-height: none; } }
  .profile-contact .profile-contact__contact-details li {
    line-height: 1.3;
    margin-bottom: .5rem;
    padding-left: 1.5625rem;
    position: relative;
    width: 100%; }
    @media print, screen and (min-width: 30em) {
      .profile-contact .profile-contact__contact-details li {
        width: 50%; } }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .profile-contact .profile-contact__contact-details li {
        width: 100%; } }
    .profile-contact .profile-contact__contact-details li .icon {
      left: 0;
      position: absolute; }

.profile-contact .profile-contact__social-row {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.profile-contact .profile-contact__map-container,
.profile-contact .profile-contact__map {
  height: 100%;
  min-height: 20.625rem;
  width: 100%; }

/* YAPL
name: School/TEP Profile Info
partial: sg-profile-about
selector: .profile-about
*/
.profile-about {
  padding: 2.8125rem 0; }

.profile-about__image-container {
  margin-bottom: 2rem;
  max-width: 18.75rem;
  padding-right: 2rem; }
  .profile-about__image-container img {
    border-radius: 50%; }
  @media print, screen and (min-width: 48em) {
    .profile-about__image-container {
      margin-bottom: 0; } }

/* YAPL
name: Upcoming Events
partial: sg-upcoming-events
selector: .upcoming-events
*/
.upcoming-events {
  margin-bottom: 3rem; }
  .upcoming-events .icon--calendar {
    height: 1.9375rem;
    margin-left: 1rem;
    width: 2.25rem; }

@media print, screen and (min-width: 48em) {
  .upcoming-events__container:nth-child(2n-1) {
    padding-right: 1rem; }
  .upcoming-events__container:nth-child(2n) {
    padding-left: 1rem; } }

.upcoming-events__item {
  display: block;
  padding: 1.875rem 2.8125rem; }

@media print {
  :root {
    font-size: 12px; }
  header,
  .conference-secondary-nav,
  .filters,
  .conference-callouts,
  .search-results__category-switcher-link:not(.is-active),
  .social,
  .conference-schedule__next-link,
  .search-results-status__topic::before,
  .conference-schedule .button,
  .conference-schecule__group-header-text img {
    display: none !important; }
  .conference-schedule-background {
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    max-width: 100%; }
  .conference-schedule__group-hours {
    margin-top: .5rem !important; }
  .background--padding-large-sides {
    padding: 0; }
  .conference-splash.splash--secondary {
    min-height: 0 !important;
    padding: 1rem 0 !important; }
  a,
  a:visited {
    text-decoration: none !important; }
  a[href]:after {
    content: none !important; }
  .splash__title {
    margin-top: 0 !important; }
  .conference-splash + .vertical-margin-2 {
    margin-top: 0 !important; }
    .conference-splash + .vertical-margin-2 + .vertical-margin-2 {
      margin-top: 0 !important; }
  .conference-header + main .row.vertical-margin-2.align-center {
    margin-top: 0 !important; }
  .conference-header + main .vertical-margin-5:last-child {
    display: none; }
  .conference-header + main .rtf.vertical-margin-2.row.column, .conference-header + main .rtf.vertical-margin-2.row.columns {
    margin-top: 0 !important; }
  .conference-schedule__group-header {
    padding-left: 0 !important; }
  .conference-footer .conference-footer-column {
    padding-left: 20px !important; }
  .conference-footer-column:first-child .vertical-margin-2-medium {
    margin-top: 0 !important; }
  .conference-footer__logo {
    -webkit-print-color-adjust: exact;
    background: #fff !important;
    background-image: url("/assets/img/brand/logo-lg.svg") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    height: 53px !important;
    width: 100% !important; }
    .conference-footer__logo::after {
      display: none; }
    .conference-footer__logo img {
      display: none; }
  footer {
    width: 100% !important; } }
.header-utilities__item-child {
    display: none;
    position: absolute;
    top: 26px;
    right: 0;
    left: -13px;
    right: -13px;
    background: #d9541e;
    color: #fefefe;
    padding: .85rem;
    text-align: right;
    z-index: 200;
}
    .header-utilities__item-child li {
        margin-top: 0.66667rem;
        line-height: 14px;
    }
        .header-utilities__item-child li:first-child {
            margin-top: 0;
        }
    .header-utilities__item-child a {
        color: #fff;
        font-weight: 400;
        line-height: 14px;
    }
.header-login.js-header-login:hover .header-utilities__item-child {
    display: block;
}
.header-utilities__item-child {
    top: 34px;
    text-align: left;
}
    .header-utilities__item-child:before {
        border-bottom: 0.75rem solid #d9541e;
        border-left: 1.6875rem solid transparent;
        border-right: 1.6875rem solid transparent;
        content: '';
        height: 0;
        left: 40%;
        position: absolute;
        top: -12px;
        -webkit-transform: translateX(-50%) scale(0.999);
        -ms-transform: translateX(-50%) scale(0.999);
        transform: translateX(-50%) scale(0.999);
        width: 0;
    }
.header-login.js-header-login {
    padding-bottom: 13px;
    margin-bottom: -13px;
}



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiYmFzZS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jc3MtY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL3RiZy1mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdGJnLWZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90YmctZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJiYXNlL19jb2xvcnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImJhc2UvX2dyaWQuc2NzcyIsImJhc2UvX3N0YXRlcy5zY3NzIiwiYmFzZS9fYW5pbWF0aW9ucy5zY3NzIiwiYmFzZS9fYm9yZGVyZWQuc2NzcyIsImJhc2UvX2NpcmN1bGFyLnNjc3MiLCJiYXNlL19vcm5hbWVudGVkLnNjc3MiLCJiYXNlL19zaGFkb3dlZC5zY3NzIiwiYmFzZS9fZmx5b3V0LnNjc3MiLCJiYXNlL19zdHlsZWd1aWRlLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX2JhY2tncm91bmQuc2NzcyIsImNvbXBvbmVudHMvX2JnLXBsYXllci5zY3NzIiwiY29tcG9uZW50cy9fYm9keS5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi1uYXYuc2NzcyIsImJhc2UvX3otaW5kZXguc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2NhcHRpb25lZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fY29tbXVuaXR5LnNjc3MiLCJjb21wb25lbnRzL19jb21tdW5pdHktYW5ub3VuY2VtZW50cy5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1vcHRpb25zLnNjc3MiLCJjb21wb25lbnRzL19jdGEtYmx1ZS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLWJ1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2N0YS1vcmFuZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2VtYWlsLXNpZ24tdXAuc2NzcyIsImNvbXBvbmVudHMvX2V2ZW50cy5zY3NzIiwiY29tcG9uZW50cy9fZXJyb3Itc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmUtdGlsZXMuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmUtdmlkZW8uc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLWxpc3QtaXRlbXMuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtcGFnZXMuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLXF1b3RlLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJzLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2dhdGVkLWxhbmRpbmcuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItZmVhdHVyZS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci1sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci1uYXYuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci9faGVhZGVyLXRvZ2dsZS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci10b3BpY3Muc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItdXRpbGl0aWVzLnNjc3MiLCJjb21wb25lbnRzL19ob3Zlci1yZXZlYWwuc2NzcyIsImNvbXBvbmVudHMvX2hyLnNjc3MiLCJjb21wb25lbnRzL19odG1sLnNjc3MiLCJjb21wb25lbnRzL19pY29uLnNjc3MiLCJjb21wb25lbnRzL19pbmZvZ3JhcGhpY3Muc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLWZpbGwuc2NzcyIsImNvbXBvbmVudHMvX2luLXZpZXcuc2NzcyIsImNvbXBvbmVudHMvX2lucGFnZS1uYXYuc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvbUN1c3RvbVNjcm9sbGJhci9fbUN1c3RvbVNjcm9sbGJhci5zY3NzIiwiY29tcG9uZW50cy9mbGlja2l0eS9fZmxpY2tpdHkuc2NzcyIsImNvbXBvbmVudHMvX21lZGlhLWlucXVpcmllcy5zY3NzIiwiY29tcG9uZW50cy9fb3JuYW1lbnQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtY2FsbG91dHMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtdGVhc2Vycy5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcGFwZXIuc2NzcyIsImNvbXBvbmVudHMvX3BpcGUuc2NzcyIsImNvbXBvbmVudHMvX3BsYXllci5zY3NzIiwiY29tcG9uZW50cy9wbHlyL19wbHlyLnNjc3MiLCJjb21wb25lbnRzL3BseXIvX3BseXItbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL3BseXIvX3BseXItdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL19xdWljay1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fcmVjb21tZW5kZWQuc2NzcyIsImNvbXBvbmVudHMvX3Jlc291cmNlcy1jYWxsb3V0LnNjc3MiLCJjb21wb25lbnRzL19ydGYuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24taGlnaGxpZ2h0cy5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsImNvbXBvbmVudHMvX3N0YWZmLXNlY3Rpb25zLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtc3VnZ2VzdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLXN0YXR1cy5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi1uYXYuc2NzcyIsImNvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvX3NpdGVtYXAuc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19zcGxhc2guc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJjb21wb25lbnRzL190aWxlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3RvcGljcy1saXN0LnNjc3MiLCJjb21wb25lbnRzL190eXBlYWhlYWQuc2NzcyIsImNvbXBvbmVudHMvX3ZlbmRvci1saXN0LnNjc3MiLCJjb21wb25lbnRzL192ZW5kb3Itc3BvdGxpZ2h0LnNjc3MiLCJjYW1wYWlnbi9fY2FtcGFpZ24taGVhZGVyLnNjc3MiLCJjYW1wYWlnbi9fY2FtcGFpZ24taW5mb2dyYXBoaWMuc2NzcyIsImNhbXBhaWduL19jYW1wYWlnbi1sYW5kaW5nLW1haW4uc2NzcyIsImNhbXBhaWduL19jYW1wYWlnbi1xdW90ZS5zY3NzIiwiY2FtcGFpZ24vX2NhbXBhaWduLWltYWdlLWZlYXR1cmUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi1yb3cuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtbG9jYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19wcm9maWxlLWRldGFpbHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2ZpbGUtY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9fcHJvZmlsZS1hYm91dC5zY3NzIiwiY29tcG9uZW50cy9fdXBjb21pbmctZXZlbnRzLnNjc3MiLCJiYXNlL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0dqQiwyRUFBWTtBQ0haOzs7OztHQUtHO0FDd0NELGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7O09BS0c7QUFFSDtFQUNFLHdCQzFDdUI7RUQwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRSxPQUFPO0VBRTVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7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S0Q7RU94TEosaUJEYnFELEVOdU1oRDs7QUFWRDtFQUNFLDRCTTlMK0M7TU44TC9DLHdCTTlMK0M7VU44TC9DLG9CTTlMK0M7RU4rTC9DLHFCTS9MK0MsRU5nTWhEOztBQUtEO0VPeExKLHVCRGJxRCxFTnVNaEQ7O0FBVkQ7RUFDRSxzQk05TCtDO01OOEwvQyxrQk05TCtDO1VOOEwvQyxjTTlMK0M7RU4rTC9DLGVNL0wrQyxFTmdNaEQ7O0FBS0Q7RU94TEosdUJEYnFELEVOdU1oRDs7QUFWRDtFQUNFLDRCTTlMK0M7TU44TC9DLHdCTTlMK0M7VU44TC9DLG9CTTlMK0M7RU4rTC9DLHFCTS9MK0MsRU5nTWhEOztBQUtEO0VPeExKLGlCRGJxRCxFTnVNaEQ7O0FBVkQ7RUFDRSw0Qk05TCtDO01OOEwvQyx3Qk05TCtDO1VOOEwvQyxvQk05TCtDO0VOK0wvQyxxQk0vTCtDLEVOZ01oRDs7QUFLRDtFT3hMSix1QkRicUQsRU51TWhEOztBQVZEO0VBQ0Usc0JNOUwrQztNTjhML0Msa0JNOUwrQztVTjhML0MsY005TCtDO0VOK0wvQyxlTS9MK0MsRU5nTWhEOztBQUtEO0VPeExKLHVCRGJxRCxFTnVNaEQ7O0FBVkQ7RUFDRSw0Qk05TCtDO01OOEwvQyx3Qk05TCtDO1VOOEwvQyxvQk05TCtDO0VOK0wvQyxxQk0vTCtDLEVOZ01oRDs7QUFLRDtFT3hMSixpQkRicUQsRU51TWhEOztBQVZEO0VBQ0UsNEJNOUwrQztNTjhML0Msd0JNOUwrQztVTjhML0Msb0JNOUwrQztFTitML0MscUJNL0wrQyxFTmdNaEQ7O0FBS0Q7RU94TEosdUJEYnFELEVOdU1oRDs7QUFWRDtFQUNFLHVCTTlMK0M7TU44TC9DLG1CTTlMK0M7VU44TC9DLGVNOUwrQztFTitML0MsZ0JNL0wrQyxFTmdNaEQ7O0FBS0Q7RU94TEosdUJEYnFELEVOdU1oRDs7QUFLRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFGRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFGRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFGRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFGRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFGRDtFS2hLSixpQkwrSmdCO01LL0poQixrQkwrSmdCO1VLL0poQixTTCtKZ0IsRUFHWDs7QUFLRDtFQXhJSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEwSVY7RUF4SUw7SUFHRSx1QkFGc0I7UUFFdEIsbUJBRnNCO1lBRXRCLGVBRnNCO0lBR3RCLGdCQUhzQixFQUl2Qjs7QUFpSUc7RUF4SUosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMElWO0VBeElMO0lBR0Usc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFpSUc7RUF4SUosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMElWO0VBeElMO0lBR0UsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQWlJRztFQXhJSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEwSVY7RUF4SUw7SUFHRSxzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQWlJRztFQXhJSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEwSVY7RUF4SUw7SUFHRSxzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQWlJRztFQXhJSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEwSVY7RUF4SUw7SUFHRSw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBaUlHO0VBeElKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTBJVjtFQXhJTDtJQUdFLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFpSUc7RUF4SUosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMElWO0VBeElMO0lBR0Usd0JBRnNCO1FBRXRCLG9CQUZzQjtZQUV0QixnQkFGc0I7SUFHdEIsaUJBSHNCLEVBSXZCOztBQXlMQztFSWxSQSxpQkZ1RVM7RUV0RVQsZ0JGc0VTLEVGNE1tQzs7QUFHNUM7RUl0UkEsd0JBRnFDO0VBR3JDLHVCQUhxQyxFSnlSZ0I7O0FHbEpuRDtFSCtEQTtJQUNFLDJCTTlMK0M7UU44TC9DLHVCTTlMK0M7WU44TC9DLG1CTTlMK0M7SU4rTC9DLG9CTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosZ0JEaEJnQyxFTjBNM0I7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosc0JEYnFELEVOdU1oRDtFQVZEO0lBQ0Usc0JNOUwrQztRTjhML0Msa0JNOUwrQztZTjhML0MsY005TCtDO0lOK0wvQyxlTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSixpQkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHNCTTlMK0M7UU44TC9DLGtCTTlMK0M7WU44TC9DLGNNOUwrQztJTitML0MsZU0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosaUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSxzQk05TCtDO1FOOEwvQyxrQk05TCtDO1lOOEwvQyxjTTlMK0M7SU4rTC9DLGVNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGlCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsdUJNOUwrQztRTjhML0MsbUJNOUwrQztZTjhML0MsZU05TCtDO0lOK0wvQyxnQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFLRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFLRDtJQXhJSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEwSVY7SUF4SUw7TUFHRSx1QkFGc0I7VUFFdEIs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OEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGlCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0Usc0JNOUwrQztRTjhML0Msa0JNOUwrQztZTjhML0MsY005TCtDO0lOK0wvQyxlTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSixpQkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHNCTTlMK0M7UU44TC9DLGtCTTlMK0M7WU44TC9DLGNNOUwrQztJTitML0MsZU0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosaUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSx1Qk05TCtDO1FOOEwvQyxtQk05TCtDO1lOOEwvQyxlTTlMK0M7SU4rTC9DLGdCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQUtEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pn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QUFBOztBR2xKbkQ7RUgrREE7SUFDRSwyQk05TCtDO1FOOEwvQyx1Qk05TCtDO1lOOEwvQyxtQk05TCtDO0lOK0wvQyxvQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGdCRGhCZ0MsRU4wTTNCO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHNCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHNCTTlMK0M7UU44TC9DLGtCTTlMK0M7WU44TC9DLGNNOUwrQztJTitML0MsZU0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosaUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSxzQk05TCtDO1FOOEwvQyxrQk05TCtDO1lOOEwvQyxjTTlMK0M7SU4rTC9DLGVNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGlCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0Usc0JNOUwrQztRTjhML0Msa0JNOUwrQztZTjhML0MsY005TCtDO0lOK0wvQyxlTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSixpQkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHVCTTlMK0M7UU44TC9DLG1CTTlMK0M7WU44TC9DLGVNOUwrQztJTitML0MsZ0JNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBS0Q7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBS0Q7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0UsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0Usc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQWlJRztJQXhJSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEwSVY7SUF4SUw7TUFHRSw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0Usc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQWlJRztJQXhJSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEwSVY7SUF4SUw7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBaUlHO0lBeElKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTBJVjtJQXhJTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQWlJRztJQXhJSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEwSVY7SUF4SUw7TUFHRSw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0Usd0JBRnNCO1VBRXRCLG9CQUZzQjtjQUV0QixnQkFGc0I7TUFHdEIsaUJBSHNCLEVBSXZCLEVBQUE7O0FHNENHO0VINkZFO0lBQ0Usc0JBOUxNO1FBOExOLGtCQTlMTTtZQThMTixjQTlMTSxFQStMUDtFQUVEO0lBQ0UsdUJBL0xTO1FBK0xULG1CQS9MUztZQStMVCxlQS9MUyxFQWdNVjtFQUVEOztJQUVFLGdCQUFlLEVBQ2hCLEVBQUE7O0FHeEdIO0VINkdFO0lLckxOLDRCQW5FVTtRQW1FVix3QkFuRVU7WUFtRVYsb0JBbkVVLEVMMFBIO0VBRkQ7SUtyTE4sb0NBbEUwQjtRQWtFMUIsZ0NBbEUwQjtZQWtFMUIsNEJBbEUwQixFTHlQbkI7RUFGRDtJS3JMTiwrQkFqRWdCO1FBaUVoQiwyQkFqRWdCO1lBaUVoQix1QkFqRWdCLEVMd1BUO0VBRkQ7SUtyTE4sdUNBaEVnQztRQWdFaEMsbUNBaEVnQztZQWdFaEMsK0JBaEVnQyxFTHVQekI7RUFHSDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2YsRUFBQTs7QUFJQztFQUVJLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RUd2SUw7SUhnSUU7TUFLTSxzQkFyT0U7VUFxT0Ysa0JBck9FO2NBcU9GLGNBck9FLEVBdU9MLEVBQUE7O0FHdklMO0VINklGO0lJbFJBLGlCRnVFUztJRXRFVCxnQkZzRVMsRUY0TW1DO0VBRzVDO0lJdFJBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUp5UmdCLEVBQUE7O0FHN0luRDtFSDBEQTtJQUNFLDJCTTlMK0M7UU44TC9DLHVCTTlMK0M7WU44TC9DLG1CTTlMK0M7SU4rTC9DLG9CTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosZ0JEaEJnQyxFTjBNM0I7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosc0JEYnFELEVOdU1oRDtFQVZEO0lBQ0Usc0JNOUwrQztRTjhML0Msa0JNOUwrQztZTjhML0MsY005TCtDO0lOK0wvQyxlTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSixpQkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHNCTTlMK0M7UU44TC9DLGtCTTlMK0M7WU44TC9DLGNNOUwrQztJTitML0MsZU0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosaUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSxzQk05TCtDO1FOOEwvQyxrQk05TCtDO1lOOEwvQyxjTTlMK0M7SU4rTC9DLGVNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGlCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsdUJNOUwrQztRTjhML0MsbUJNOUwrQztZTjhML0MsZU05TCtDO0lOK0wvQyxnQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFLRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFLRDtJQXhJSix3QkFBZTtR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TmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLGlCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0Usc0JNOUwrQztRTjhML0Msa0JNOUwrQztZTjhML0MsY005TCtDO0lOK0wvQyxlTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSixpQkRicUQsRU51TWhEO0VBVkQ7SUFDRSw0Qk05TCtDO1FOOEwvQyx3Qk05TCtDO1lOOEwvQyxvQk05TCtDO0lOK0wvQyxxQk0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLHNCTTlMK0M7UU44TC9DLGtCTTlMK0M7WU44TC9DLGNNOUwrQztJTitML0MsZU0vTCtDLEVOZ01oRDtFQUtEO0lPeExKLHVCRGJxRCxFTnVNaEQ7RUFWRDtJQUNFLDRCTTlMK0M7UU44TC9DLHdCTTlMK0M7WU44TC9DLG9CTTlMK0M7SU4rTC9DLHFCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosaUJEYnFELEVOdU1oRDtFQVZEO0lBQ0UsNEJNOUwrQztRTjhML0Msd0JNOUwrQztZTjhML0Msb0JNOUwrQztJTitML0MscUJNL0wrQyxFTmdNaEQ7RUFLRDtJT3hMSix1QkRicUQsRU51TWhEO0VBVkQ7SUFDRSx1Qk05TCtDO1FOOEwvQyxtQk05TCtDO1lOOEwvQyxlTTlMK0M7SU4rTC9DLGdCTS9MK0MsRU5nTWhEO0VBS0Q7SU94TEosdUJEYnFELEVOdU1oRDtFQUtEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUZEO0lLaEtKLGlCTCtKZ0I7UUsvSmhCLGtCTCtKZ0I7WUsvSmhCLFNMK0pnQixFQUdYO0VBRkQ7SUtoS0osaUJMK0pnQjtRSy9KaEIsa0JMK0pnQjtZSy9KaEIsU0wrSmdCLEVBR1g7RUFGRDtJS2hLSixpQkwrSmdCO1FLL0poQixrQkwrSmdCO1lLL0poQixTTCtKZ0IsRUFHWDtFQUtEO0lBeElKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTBJVjtJQXhJTDtNQUdFLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBaUlHO0lBeElKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTBJVjtJQXhJTDtNQUdFLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0UsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBaUlHO0lBeElKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTBJVjtJQXhJTDtNQUdFLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0Usc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQWlJRztJQXhJSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEwSVY7SUF4SUw7TUFHRSw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFpSUc7SUF4SUosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMElWO0lBeElMO01BR0UsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBaUlHO0lBeElKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTBJVjtJQXhJTDtNQUdFLHdCQUZzQjtVQUV0QixvQkFGc0I7Y0FFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBR2lERztFSHdGRTtJQUNFLHNCQTlMTTtRQThMTixrQkE5TE07WUE4TE4sY0E5TE0sRUErTFA7RUFFRDtJQUNFLHVCQS9MUztRQStMVCxtQkEvTFM7WUErTFQsZUEvTFMsRUFnTVY7RUFFRDs7SUFFRSxnQkFBZSxFQUNoQixFQUFBOztBR25HSDtFSHdHRTtJS3JMTiw0QkFuRVU7UUFtRVYsd0JBbkVVO1lBbUVWLG9CQW5FVSxFTDBQSDtFQUZEO0lLckxOLG9DQWxFMEI7UUFrRTFCLGdDQWxFMEI7WUFrRTFCLDRCQWxFMEIsRUx5UG5CO0VBRkQ7SUtyTE4sK0JBakVnQjtRQWlFaEIsMkJBakVnQjtZQWlFaEIsdUJBakVnQixFTHdQVDtFQUZEO0lLckxOLHVDQWhFZ0M7UUFnRWhDLG1DQWhFZ0M7WUFnRWhDLCtCQWhFZ0MsRUx1UHpCO0VBR0g7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmO0VBRUQ7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmO0VBRUQ7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmLEVBQUE7O0FBSUM7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VHbElMO0lIMkhFO01BS00sc0JBck9FO1VBcU9GLGtCQXJPRTtjQXFPRixjQXJPRSxFQXVPTCxFQUFBOztBR2xJTDtFSHdJRjtJSWxSQSxpQkZ1RVM7SUV0RVQsZ0JGc0VTLEVGNE1tQztFQUc1QztJSXRSQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVKeVJnQixFQUFBOztBQUt2RDtFQUNFLHVCQXJQZTtNQXFQZixtQkFyUGU7VUFxUGYsZUFyUGU7RUFzUGYsZ0JBQWUsRUFDaEI7O0FBR0Q7RUk3T0UsdUJGYXFELEVGa090RDtFSTdPQztJQUNFLGlCQUFnQixFQUNqQjtFRDRFQztJSDZKSjtNSTdPRSx3QkZhcUQsRUZrT3REO01JN09DO1FBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7O0FJZ0xIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlZSMEI7RVVVMUIsbUJBQWtCO0VBQ2xCLGlCVlpzQjtFVWF0QixtQ1ZYeUMsRVVZMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxpQlZqSm9CO0VVa0pwQixxQkFBb0IsRUFDckI7O0FkZ0RDO0VjNUNBLGVWbENpQjtFVW1DakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSwwR1ZqTCtHO0VVa0wvRyxtQlYzSHNCO0VVNEh0QixpQlZ0S3NCO0VVdUt0QixlVjNIa0I7RVU0SGxCLG1DVmxEc0MsRVV3RHZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVZwUWUsRVVxUWhCOztBZDNORDtFY3VPUSxvQk52UDZDO0VNK1A3QyxlVjlJVztFVTBKWCxjQUFhO0VBT2Isc0JWdEtpQixFVXdLcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTStQN0MscUJWMUlXO0VVc0pYLGNBQWE7RUFPYixzQlZ0S2lCLEVVd0twQjs7QUFqQ0Q7RUFJSSxtQk52UDZDO0VNK1A3QyxxQlZ0SVc7RVVrSlgsY0FBYTtFQU9iLHNCVnRLaUIsRVV3S3BCOztBQWpDRDtFQUlJLG9CTnZQNkM7RU0rUDdDLGVWbElXO0VVOElYLGNBQWE7RUFPYixzQlZ0S2lCLEVVd0twQjs7QUFqQ0Q7RUFJSSxvQk52UDZDO0VNK1A3QyxxQlY5SFc7RVUwSVgsY0FBYTtFQU9iLHNCVnRLaUIsRVV3S3BCOztBQWpDRDtFQUlJLG1CTnZQNkM7RU1tUTdDLGlCVnhKVztFVWdLWCxjQUFhO0VBT2Isc0JWdEtpQixFVXdLcEI7O0FMak5IO0VUbkRGO0ljdU9RLG1CTnZQNkM7SU0rUDdDLHFCVnZIVyxFVTRJZDtFQWpDRDtJQUlJLG1CTnZQNkM7SU0rUDdDLHFCVm5IVyxFVXdJZDtFQWpDRDtJQUlJLG9CTnZQNkM7SU0rUDdDLHFCVi9HVyxFVW9JZDtFQWpDRDtJQUlJLGtCTnZQNkM7SU0rUDdDLGVWM0dXLEVVZ0lkO0VBakNEO0lBSUksb0JOdlA2QztJTStQN0MscUJWdkdXLEVVNEhkO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQsRUFBQTs7QUxqTkg7RVRuREY7SWN1T1Esb0JOdlA2QztJTStQN0MsZVZoR1csRVVxSGQ7RUFqQ0Q7SUFJSSxvQk52UDZDO0lNK1A3QyxrQlY1RlcsRVVpSGQ7RUFqQ0Q7SUFJSSxnQk52UDZDO0lNK1A3QyxxQlZ4RlcsRVU2R2Q7RUFqQ0Q7SUFJSSxvQk52UDZDO0lNK1A3QyxlVnBGVyxFVXlHZDtFQWpDRDtJQUlJLG1CTnZQNkM7SU0rUDdDLGlCVmhGVyxFVXFHZDtFQWpDRDtJQUlJLGdCTnZQNkMsRU1vUmhELEVBQUE7O0FkbkdMO0VjMEdBLHFCQUFvQjtFQUNwQixlVnhTaUI7RVV5U2pCLHNCVjNGeUI7RVU2RnpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVZsRzJELEVVc0c1RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QWR2S0Q7RWM0S0EsWUFBVztFQUVYLGlCTmxUcUQ7RU1tVHJELFVBQVM7RUFDVCxxQlY5R3lCO0VVZ0h6QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ1ZsVmlCO0VVbVZqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLGlCVnhIa0I7RVV5SGxCLDZCVnZIeUI7RVV3SHpCLGlCVjNJc0IsRVU0SXZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UsZVZqSWdCO0VVa0loQixzQlZwSWtCLEVVcUluQjs7QUFHRDtFQUNFLGVWdklnQixFVXdJakI7O0FBR0Q7RUFFSSxlVjVJcUI7RVU2SXJCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CVmxKeUIsRVV3SjFCO0VBUEQ7SUFJSSxzQlZuSjhCO0lVb0o5QixpQlZuU2tCLEVVb1NuQjs7QUFJSDtFQUNFLGlCVmpMMEI7RVVrTDFCLHVDTjFXcUQ7RU0yV3JELCtCVnJZaUIsRVUyWWxCO0VBVEQ7SUFNSSxpQlZ2TG9CO0lVd0xwQixlVnhZYSxFVXlZZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQk50WHFEO0VNdVhyRCxlVmhaZSxFVXFaaEI7RUFSRDtJQU1JLGNWcks2QixFQUFBOztBVTBLakM7RUFDRSxrQ1Z0Wlc7RVV1WlgsZVZ2Wlc7RVV3WlgsYUFBWSxFQUNiOztBZDdRQztFY2lSQSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSxzQ041WXFEO0VNOFlyRCwwQlZ4YWlCO0VVeWFqQiwwQlZ2YWdCO0VVeWFoQiw2RFZ4U21FO0VVeVNuRSxpQlZyVnNCO0VVc1Z0QixlVnphVyxFVTBhWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0Qk5wWlM7RU1zWlQsMEJWbmJnQjtFVXFiaEIsNkRWcFRtRTtFVXFUbkUsZVZwYlcsRVV5Ylo7O0FDNWNEO0VBQ0UsbUJYNlF5QjtFVzVRekIsc0JYNlE0QjtFVzNRNUIsaUJYa0dzQjtFV2pHdEIsaUJYc1FzQjtFV3JRdEIsZVhVZSxFV1RoQjs7QUFHRDtFQUNFLGdCWDhQcUM7RVc3UHJDLGlCWDhQaUIsRVc3UGxCOztBQUdEO0VBQ0Usa0JYK1BtQjtFVzlQbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBSUg7RUFDRSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDOURPO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FQMklMO0VPbEpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lB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WDs7QXJEMk1EO0VLaEtKLGlCZ0Q5Q2dCO01oRDhDaEIsa0JnRDlDZ0I7VWhEOENoQixTZ0Q5Q2dCLEVBR1g7O0FyRDJNRDtFS2hLSixpQmdEOUNnQjtNaEQ4Q2hCLGtCZ0Q5Q2dCO1VoRDhDaEIsU2dEOUNnQixFQUdYOztBckQyTUQ7RUtoS0osaUJnRDlDZ0I7TWhEOENoQixrQmdEOUNnQjtVaEQ4Q2hCLFNnRDlDZ0IsRUFHWDs7QWxENkhEO0VIOEVBO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1gsRUFBQTs7QWxENkhEO0VIOEVBO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1gsRUFBQTs7QWxENkhEO0VIOEVBO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1gsRUFBQTs7QWxEa0lEO0VIeUVBO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1gsRUFBQTs7QWxEa0lEO0VIeUVBO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1g7RXJEMk1EO0lLaEtKLGlCZ0Q5Q2dCO1FoRDhDaEIsa0JnRDlDZ0I7WWhEOENoQixTZ0Q5Q2dCLEVBR1gsRUFBQTs7QUNUSDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNR2pELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUNxQi9CLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUNvQjdCLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7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K0M7RWdFcEUvQyxxQnBFNkxhLEVvRXRMbEI7OztBQXJCRDtFQUtNLG9CaEU2RStDO0VnRXBFL0MsZXBFaU1hLEVvRTFMbEI7OztBQXJCRDtFQUtNLG9CaEU2RStDO0VnRXBFL0MscUJwRXFNYSxFb0U5TGxCOzs7QUFyQkQ7RUFLTSxtQmhFNkUrQztFZ0VoRS9DLGlCcEUyS2EsRW9FeEtsQjs7QS9EZ0lDOztFK0RySkY7SUFLTSxtQmhFNkUrQztJZ0VwRS9DLHFCcEU0TWEsRW9Fck1sQixFQUFBOztBL0RnSUM7O0UrRHJKRjtJQUtNLG1CaEU2RStDO0lnRXBFL0MscUJwRWdOYSxFb0V6TWxCLEVBQUE7O0EvRGdJQzs7RStEckpGO0lBS00sb0JoRTZFK0M7SWdFcEUvQyxxQnBFb05hLEVvRTdNbEIsRUFBQTs7QS9EZ0lDOztFK0RySkY7SUFLTSxrQmhFNkUrQztJZ0VwRS9DLGVwRXdOYSxFb0VqTmxCLEVBQUE7O0EvRGdJQzs7RStEckpGO0lBS00sb0JoRTZFK0M7SWdFcEUvQyxxQnBFNE5hLEVvRXJObEIsRUFBQTs7QS9EZ0lDOztFK0RySkY7SUFLTSxvQmhFNkUrQyxFZ0U3RHBELEVBQUE7O0EvRGdJQzs7RStEckpGO0lBS00sb0JoRTZFK0M7SWdFcEUvQyxlcEVtT2EsRW9FNU5sQixFQUFBOztBL0RnSUM7O0UrRHJKRjtJQUtNLG9CaEU2RStDO0lnRXBFL0Msa0JwRXVPYSxFb0VoT2xCLEVBQUE7O0EvRGdJQzs7RStEckpGO0lBS00sZ0JoRTZFK0M7SWdFcEUvQyxxQnBFMk9hLEVvRXBPbEIsRUFBQTs7QS9EZ0lDOztFK0RySkY7SUFLTSxvQmhFNkUrQztJZ0VwRS9DLGVwRStPYSxFb0V4T2xCLEVBQUE7O0EvRGdJQzs7RStEckpGO0lBS00sbUJoRTZFK0M7SWdFcEUvQyxpQnBFbVBhLEVvRTVPbEIsRUFBQTs7QS9EZ0lDOztFK0RySkY7SUFLTSxnQmhFNkUrQyxFZ0U3RHBELEVBQUE7O0FBSUw7OztFQUVFLDJGcEV1RzZGLEVvRXRHOUY7OztBQUVEO0VBRUUsMEdwRW1HaUgsRW9FbEdsSDs7O0FB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QUNiLFNBQVE7SUFDUixVQUFTLEVBQ1Y7O0FBdkJMO0VBMkJJLFVBQVM7RUFDVCxpQkFBZ0IsRUFDakI7O0FBN0JIO0VBZ0NJLFVBQVMsRUFDVjs7QUFqQ0g7RUFxQ00saUMvRWtEYSxFK0U1Q2Q7RUEzQ0w7SUF5Q1Esc0IvRWlEWSxFK0VoRGI7O0FBMUNQO0VBK0NJLG9CM0V5Q3FELEUyRXhDdEQ7O0FDaERIO0VBQ0UscUJoRmtKbUI7RWdGakpuQixrQmhGaUptQixFZ0ZoSnBCOztBQUVEO0VBQ0UsbUJoRjZJbUI7RWdGNUluQixvQmhGNEltQixFZ0YzSXBCOztBQUVEO0VBQ0UseUI1RTZFdUQ7RTRFNUV2RCxzQjVFNEV1RCxFNEUzRXhEOztBQUVEO0VBQ0UsdUI1RXdFdUQ7RTRFdkV2RCx3QjVFdUV1RCxFNEV0RXhEOztBQUVEO0VBQ0UseUI1RW1FdUQ7RTRFbEV2RCxzQjVFa0V1RCxFNEU1RHhEO0UzRStISztJMkV2SU47TUFLSSx3QjVFK0RxRDtNNEU5RHJELHFCNUU4RHFELEU0RTVEeEQsRUFBQTs7QUFFRDtFQUNFLHlCNUV5RHVEO0U0RXhEdkQscUI1RXdEdUQsRTRFdkR4RDs7QUFFRDtFQUNFLHNCNUVvRHVEO0U0RW5EdkQsdUI1RW1EdUQsRTRFbER4RDs7QUFFRDtFQUNFLHFCNUUrQ3VEO0U0RTlDdkQsc0I1RThDdUQsRTRFN0N4RDs7QUFFRDtFQUNFLHVCNUUwQ3VEO0U0RXpDdkQsd0I1RXlDdUQsRTRFbkN4RDtFM0UyR0s7STJFbkhOO01BS0ksc0I1RXNDcUQ7TTRFckNyRCx1QjVFcUNxRCxFNEVuQ3hELEVBQUE7O0FBRUQ7RUFDRSwwQjVFZ0N1RDtFNEUvQnZELHVCNUUrQnVELEU0RTlCeEQ7O0FBRUQ7RUFDRSx1QjVFMkJ1RCxFNEUxQnhEOztBQUVEO0VBQ0Usd0I1RXVCdUQ7RTRFdEJ2RCx5QjVFc0J1RCxFNEVyQnhEOztBQUVEO0VBQ0UscUI1RWtCdUQ7RTRFakJ2RCxzQjVFaUJ1RCxFNEVoQnhEOztBQUVEO0VBQ0Usc0I1RWF1RDtFNEVadkQsdUI1RVl1RCxFNEVYeEQ7O0FBRUQ7RUFDRSx5QjVFUXVEO0U0RVB2RCxzQjVFT3VELEU0RU54RDs7QUFFRDtFQUNFLDBCaEZqQmEsRWdGa0JkOztBQUVEO0VBQ0UsNENoRnJCYSxFZ0ZzQmQ7O0EzRXNFSztFMkVwRU47SUFFSSwwQmhGMUJXO0lnRjJCWCxlaEY3QlcsRWdGb0NkLEVBQUE7O0EzRXFESztFMkUvRE47SUFPSSxzRkFBb0Y7SUFDcEYsZWhGaENXLEVnRmtDZCxFQUFBOztBQUVEO0VBQ0Usc0ZBQW9GO0VBQ3BGLGVoRnRDYSxFZ0Z1Q2Q7O0FBRUQ7RUFDRSxvQmhGNUNhO0VnRjZDYixlaEYzQ2EsRWdGNENkOztBM0VnREs7RTJFOUNOO0lBRUksMEJoRmhEVztJZ0ZpRFgsZWhGbkRXLEVnRjBEZCxFQUFBOztBM0UrQks7RTJFekNOO0lBT0ksMEJoRnZEVztJZ0Z3RFgsZWhGdERXLEVnRndEZCxFQUFBOztBQUVEO0VBQ0UsbUNoRjdEYTtFZ0Y4RGIsZWhGNURhLEVnRjZEZDs7QUFFRDtFQUNFLG9CaEY1Q21CO0VnRjZDbkIsZWhGakVhLEVnRmtFZDs7QUFFRDtFQUNFLG9CaEY3RG1CO0VnRjhEbkIsZWhGdEVhLEVnRnNGZDtFQWxCRDtJQUtJLGVoRnpFVyxFZ0Y4RVo7SUFWSDtNQVFNLGVoRjVFUyxFZ0Y2RVY7RUFUTDtJQWVNLGVoRjlFZSxFZ0YrRWhCOztBQUlMO0VBQ0Usb0JoRnREb0I7RWdGdURwQixlaEYxRmEsRWdGMkZkOztBQUVEO0VBQ0Usb0JoRjVEaUI7RWdGNkRqQixlaEYvRmEsRWdGZ0dkOztBQUVEO0VBQ0Usb0JoRnBFa0I7RWdGcUVsQixlaEZwR2EsRWdGcUdkOztBQUVEO0VBQ0Usb0JoRi9GaUI7RWdGZ0dqQixlaEZ6R2EsRWdGMEdkOztBQUVEO0VBQ0Usb0JoRi9Gb0I7RWdGZ0dwQixlaEY5R2EsRWdGa0lkO0VBdEJEO0lBZ0JJLGVoRjVIVyxFZ0Y2SFo7RUFqQkg7SUFvQkksZWhGaElXLEVnRmlJWjs7QUFHSDtFQUNFLG9CaEZySGlCO0VnRnNIakIsZWhGdElhLEVnRm9KZDtFQWhCRDtJQUtJLGVoRnpJVyxF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QUE2QjtJQUM3QixnQ3JGbE1lLEVxRjBNaEI7SUFyQkg7TUFpQk0sMEJyRnRNYTtNcUZ1TWIsc0JBQXFDO01BQ3JDLGVyRjNOUyxFcUY0TlY7O0FBSUw7RUFDRSwwQnJGak5pQjtFcUZrTmpCLGVyRmxPYSxFcUZ1UGQ7RUF2QkQ7SUFPSSwwQnJGdk5lO0lxRndOZixlckZ4T1csRXFGeU9aO0VBVEg7SUFZSSw4QkFBNkI7SUFDN0IsZ0NyRjdOZTtJcUY4TmYsZXJGOU5lLEVxRnNPaEI7SUF0Qkg7TUFrQk0sMEJyRmxPYTtNcUZtT2Isc0JBQXFDO01BQ3JDLGVyRnBQUyxFcUZxUFY7O0FBSUw7RUFDRSwwQnJGN01vQjtFcUY4TXBCLGVyRjNQYSxFcUY2UWQ7RUFwQkQ7SUFNSSwwQnJGek9nQixFcUYwT2pCO0VBUEg7SUFVSSw4QkFBNkI7SUFDN0IsZ0NyRnZOa0IsRXFGK05uQjtJQW5CSDtNQWVNLDBCckZsUGM7TXFGbVBkLHNCQUFxQztNQUNyQyxlckYxUVMsRXFGMlFWOztBQUlMO0VBQ0UsMEJyRm5Qa0I7RXFGb1BsQixnQ3JGcFBrQjtFcUZxUGxCLGVyRmxSYSxFcUZzU2Q7RUF2QkQ7SUFPSSwwQnJGelBnQjtJcUYwUGhCLHNCQUFxQyxFQUN0QztFQVRIO0lBWUksOEJBQTZCO0lBQzdCLGdDckYvUGdCO0lxRmdRaEIsZXJGN1JXLEVxRnFTWjtJQXRCSDtNQWtCTSwwQnJGcFFjO01xRnFRZCxzQkFBcUM7TUFDckMsZXJGblNTLEVxRm9TVjs7QUFJTDtFQUNFLDBCckZ2UWlCO0VxRndRakIsZ0NyRnhRaUI7RXFGeVFqQixlckYzU2EsRXFGK1RkO0VBdkJEO0lBT0ksMEJyRjdRZTtJcUY4UWYsc0JBQW9DLEVBQ3JDO0VBVEg7SUFZSSw4QkFBNkI7SUFDN0IsZ0NyRm5SZTtJcUZvUmYsZXJGcFJlLEVxRjRSaEI7SUF0Qkg7TUFrQk0sMEJyRnhSYTtNcUZ5UmIsc0JBQW9DO01BQ3BDLGVyRjVUUyxFcUY2VFY7O0FBSUw7RUFDRSwwQnJGblNrQjtFcUZvU2xCLGdDckZwU2tCO0VxRnFTbEIsZXJGcFVhLEVxRmlWZDtFQWhCRDtJQU9JLDBCckZ6U2dCO0lxRjBTaEIsc0JBQXNDO0lBQ3RDLGVyRjFVVyxFcUZnVlo7SUFmSDtNQVlNLDBCckY3VVM7TXFGOFVULGdFQUErRCxFQUNoRTs7QUFJTDtFQUNFLDBCckY5VW9CO0VxRitVcEIsZXJGclZhLEVxRjZXZDtFQTFCRDtJQU1JLDBCckZqVmlCO0lxRmtWakIsZXJGdFZzQixFcUY0VnZCO0lBYkg7TUFVTSwwQnJGN1ZTO01xRjhWVCxrRUFBaUUsRUFDbEU7RUFaTDtJQWdCSSxnQ3JGN1ZrQjtJcUY4VmxCLGVyRjlWa0IsRXFGc1duQjtJQXpCSDtNQXFCTSwwQnJGbFdnQjtNcUZtV2hCLHNCQUF1QztNQUN2QyxlckYxV1MsRXFGMldWOztBQUlMO0VBQ0UsMEJyRm5XcUI7RXFGb1dyQixnQ3JGcFdxQjtFcUZxV3JCLGVyRmxYYSxFcUZzWWQ7RUF2QkQ7SUFPSSwwQnJGeldtQjtJcUYwV25CLHNCQUF3QyxFQUN6QztFQVRIO0lBWUksOEJBQTZCO0lBQzdCLGdDckYvV21CO0lxRmdYbkIsZXJGN1hXLEVxRnFZWjtJQXRCSDtNQWtCTSwwQnJGcFhpQjtNcUZxWGpCLHNCQUF3QztNQUN4QyxlckZuWVMsRXFGb1lWOztBQUlMO0VBQ0UsMEJyRmhZaUI7RXFGaVlqQixlckYxWWEsRXFGZ1pkO0VBUkQ7SUFNSSwwQkFBd0MsRUFDekM7O0FBR0g7RUFDRSwwQnJGcllvQjtFcUZzWXBCLGdDckZ0WW9CO0VxRnVZcEIsZXJGclphLEVxRnlhZDtFQXZCRDtJQU9JLDBCckYzWWtCO0lxRjRZbEIsc0JBQXVDLEVBQ3hDO0VBVEg7SUFZSSw4QkFBNkI7SUFDN0IsZ0NyRmpaa0I7SXFGa1psQixlckZsWmtCLEVxRjBabkI7SUF0Qkg7TUFrQk0sMEJyRnRaZ0I7TXFGdVpoQixzQkFBdUM7TUFDdkMsZXJGdGFTLEVxRnVhVjs7QUFJTDtFQUNFLDBCckZoYmtCO0VxRmlibEIsZ0NyRmpia0I7RXFGa2JsQixlckY5YWEsRXFGa2NkO0VBdkJEO0lBT0ksMEJyRnRiZ0I7SXFGdWJoQixzQkFB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dUJBQXNCLEVBU3ZCO0lBaEJEO01BVUksY0FBYSxFQUNkO0lBWEg7TUFjSSxjQUFhLEVBQ2Q7RUFHSDtJQUNFLHVCQUFzQixFQUN2QixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Tb3VyY2UrU2FucytQcm86NzAwXCIpO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJnBoYWJsZXQ9MzBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbSZ4eHhsYXJnZT0xMjBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnBoYWJsZXQtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAucGhhYmxldC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5waGFibGV0LW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAucGhhYmxldC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5waGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5waGFibGV0LTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAucGhhYmxldC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAucGhhYmxldC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5waGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5waGFibGV0LTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAucGhhYmxldC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAucGhhYmxldC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAucGhhYmxldC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAucGhhYmxldC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAucGhhYmxldC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucGhhYmxldC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnBoYWJsZXQtb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBoYWJsZXQtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnBoYWJsZXQtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnBoYWJsZXQtb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnBoYWJsZXQtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnBoYWJsZXQtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnBoYWJsZXQtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnBoYWJsZXQtdXAtMSA+IC5jb2x1bW4sIC5waGFibGV0LXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucGhhYmxldC11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC0yID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAucGhhYmxldC11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC0zID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAucGhhYmxldC11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC00ID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAucGhhYmxldC11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC01ID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAucGhhYmxldC11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC02ID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC03ID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAucGhhYmxldC11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGhhYmxldC11cC04ID4gLmNvbHVtbiwgLnBoYWJsZXQtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnBoYWJsZXQtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5waGFibGV0LXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLnBoYWJsZXQtZXhwYW5kLFxuICAucGhhYmxldC1zaHJpbmsge1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5waGFibGV0LWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucGhhYmxldC1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5waGFibGV0LWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucGhhYmxldC1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5waGFibGV0LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnBoYWJsZXQtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAucGhhYmxldC1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93LnBoYWJsZXQtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cucGhhYmxldC11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5yb3cucGhhYmxldC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5waGFibGV0LXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnBoYWJsZXQtY29sbGFwc2UgPiAuY29sdW1uLCAucGhhYmxldC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucGhhYmxldC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnBoYWJsZXQtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZXhwYW5kLFxuICAubWVkaXVtLXNocmluayB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmxhcmdlLWV4cGFuZCxcbiAgLmxhcmdlLXNocmluayB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLnhsYXJnZS1leHBhbmQsXG4gIC54bGFyZ2Utc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54eGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAueHhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWV4cGFuZCxcbiAgLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZSBDb25kZW5zZWRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1Nzg5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA3MTQzO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDY2Njc7IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNDU0NTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNjY2NzsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0LjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45NjsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5Mzc1OyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2Q5NTQxZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNiYjQ4MWE7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDgwcmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMyNTI1MjU7XG4gIGNvbG9yOiAjMjUyNTI1O1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY4ZjhmO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMyNTI1MjU7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzI1MjUyNTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5waGFibGV0LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucGhhYmxldC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAucGhhYmxldC10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5waGFibGV0LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cywgY29sb3IgMC41cztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTU0MWU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMjNjMzM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDk1NDFlOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTc3OWJhOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgzNywgMzcsIDM3LCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzI1MjUyNTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhmOGY4ZjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzI1MjUyNTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMjUyNTI1OyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogIzhmOGY4ZjtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzI1MjUyNTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhmOGY4ZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhmOGY4ZjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ZjhmOGY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY4ZjhmOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ZjhmOGY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMjUyNTI1OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOGY4ZjhmOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNywgMzcsIDM3LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZWNmYTtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ZjhmOGY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICM4ZjhmOGY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cblxuLmNzcy1jb2x1bW5zLTAteHhsYXJnZSxcbi5jc3MtY29sdW1ucy0xLXh4bGFyZ2Uge1xuICBjb2x1bW4tZ2FwOiBub3JtYWw7XG4gIGNvbHVtbi1jb3VudDogYXV0bzsgfVxuXG5cbi5jc3MtY29sdW1ucy0yIHtcbiAgY29sdW1uLWdhcDogMnJlbTtcbiAgY29sdW1uLWNvdW50OiAyOyB9XG4gIFxuICAuY3NzLWNvbHVtbnMtMiA+ICoge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuXG4uY3NzLWNvbHVtbnMtMyB7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIGNvbHVtbi1jb3VudDogMzsgfVxuICBcbiAgLmNzcy1jb2x1bW5zLTMgPiAqIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cblxuLmNzcy1jb2x1bW5zLTQge1xuICBjb2x1bW4tZ2FwOiAycmVtO1xuICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgXG4gIC5jc3MtY29sdW1ucy00ID4gKiB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG5cbi5jc3MtY29sdW1ucy01IHtcbiAgY29sdW1uLWdhcDogMnJlbTtcbiAgY29sdW1uLWNvdW50OiA1OyB9XG4gIFxuICAuY3NzLWNvbHVtbnMtNSA+ICoge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuXG4uY3NzLWNvbHVtbnMtNiB7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIGNvbHVtbi1jb3VudDogNjsgfVxuICBcbiAgLmNzcy1jb2x1bW5zLTYgPiAqIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbi5jc3MtY29sdW1ucy0wLXNtYWxsLFxuLmNzcy1jb2x1bW5zLTEtc21hbGwge1xuICBjb2x1bW4tZ2FwOiBub3JtYWw7XG4gIGNvbHVtbi1jb3VudDogYXV0bzsgfVxuXG4uY3NzLWNvbHVtbnMtMi1zbWFsbCB7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIGNvbHVtbi1jb3VudDogMjsgfVxuICAuY3NzLWNvbHVtbnMtMi1zbWFsbCA+ICoge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuLmNzcy1jb2x1bW5zLTMtc21hbGwge1xuICBjb2x1bW4tZ2FwOiAycmVtO1xuICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLmNzcy1jb2x1bW5zLTMtc21hbGwgPiAqIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbi5jc3MtY29sdW1ucy00LXNtYWxsIHtcbiAgY29sdW1uLWdhcDogMnJlbTtcbiAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC5jc3MtY29sdW1ucy00LXNtYWxsID4gKiB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4uY3NzLWNvbHVtbnMtNS1zbWFsbCB7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIGNvbHVtbi1jb3VudDogNTsgfVxuICAuY3NzLWNvbHVtbnMtNS1zbWFsbCA+ICoge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuLmNzcy1jb2x1bW5zLTYtc21hbGwge1xuICBjb2x1bW4tZ2FwOiAycmVtO1xuICBjb2x1bW4tY291bnQ6IDY7IH1cbiAgLmNzcy1jb2x1bW5zLTYtc21hbGwgPiAqIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5jc3MtY29sdW1ucy0wLXBoYWJsZXQsXG4gIC5jc3MtY29sdW1ucy0xLXBoYWJsZXQge1xuICAgIGNvbHVtbi1nYXA6IG5vcm1hbDtcbiAgICBjb2x1bW4tY291bnQ6IGF1dG87IH1cbiAgLmNzcy1jb2x1bW5zLTItcGhhYmxldCB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAuY3NzLWNvbHVtbnMtMi1waGFibGV0ID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5jc3MtY29sdW1ucy0zLXBoYWJsZXQge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLmNzcy1jb2x1bW5zLTMtcGhhYmxldCA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNC1waGFibGV0IHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC5jc3MtY29sdW1ucy00LXBoYWJsZXQgPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLmNzcy1jb2x1bW5zLTUtcGhhYmxldCB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAuY3NzLWNvbHVtbnMtNS1waGFibGV0ID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5jc3MtY29sdW1ucy02LXBoYWJsZXQge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiA2OyB9XG4gICAgLmNzcy1jb2x1bW5zLTYtcGhhYmxldCA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jc3MtY29sdW1ucy0wLW1lZGl1bSxcbiAgLmNzcy1jb2x1bW5zLTEtbWVkaXVtIHtcbiAgICBjb2x1bW4tZ2FwOiBub3JtYWw7XG4gICAgY29sdW1uLWNvdW50OiBhdXRvOyB9XG4gIC5jc3MtY29sdW1ucy0yLW1lZGl1bSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAuY3NzLWNvbHVtbnMtMi1tZWRpdW0gPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLmNzcy1jb2x1bW5zLTMtbWVkaXVtIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC5jc3MtY29sdW1ucy0zLW1lZGl1bSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNC1tZWRpdW0ge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLmNzcy1jb2x1bW5zLTQtbWVkaXVtID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5jc3MtY29sdW1ucy01LW1lZGl1bSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAuY3NzLWNvbHVtbnMtNS1tZWRpdW0gPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLmNzcy1jb2x1bW5zLTYtbWVkaXVtIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogNjsgfVxuICAgIC5jc3MtY29sdW1ucy02LW1lZGl1bSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jc3MtY29sdW1ucy0wLWxhcmdlLFxuICAuY3NzLWNvbHVtbnMtMS1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogbm9ybWFsO1xuICAgIGNvbHVtbi1jb3VudDogYXV0bzsgfVxuICAuY3NzLWNvbHVtbnMtMi1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAuY3NzLWNvbHVtbnMtMi1sYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtMy1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAuY3NzLWNvbHVtbnMtMy1sYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNC1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAuY3NzLWNvbHVtbnMtNC1sYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNS1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAuY3NzLWNvbHVtbnMtNS1sYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNi1sYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDY7IH1cbiAgICAuY3NzLWNvbHVtbnMtNi1sYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNzcy1jb2x1bW5zLTAteGxhcmdlLFxuICAuY3NzLWNvbHVtbnMtMS14bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IG5vcm1hbDtcbiAgICBjb2x1bW4tY291bnQ6IGF1dG87IH1cbiAgLmNzcy1jb2x1bW5zLTIteGxhcmdlIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC5jc3MtY29sdW1ucy0yLXhsYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtMy14bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLmNzcy1jb2x1bW5zLTMteGxhcmdlID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5jc3MtY29sdW1ucy00LXhsYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAuY3NzLWNvbHVtbnMtNC14bGFyZ2UgPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLmNzcy1jb2x1bW5zLTUteGxhcmdlIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC5jc3MtY29sdW1ucy01LXhsYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNi14bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiA2OyB9XG4gICAgLmNzcy1jb2x1bW5zLTYteGxhcmdlID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY3NzLWNvbHVtbnMtMC14eGxhcmdlLFxuICAuY3NzLWNvbHVtbnMtMS14eGxhcmdlIHtcbiAgICBjb2x1bW4tZ2FwOiBub3JtYWw7XG4gICAgY29sdW1uLWNvdW50OiBhdXRvOyB9XG4gIC5jc3MtY29sdW1ucy0yLXh4bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLmNzcy1jb2x1bW5zLTIteHhsYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtMy14eGxhcmdlIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC5jc3MtY29sdW1ucy0zLXh4bGFyZ2UgPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLmNzcy1jb2x1bW5zLTQteHhsYXJnZSB7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAuY3NzLWNvbHVtbnMtNC14eGxhcmdlID4gKiB7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5jc3MtY29sdW1ucy01LXh4bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLmNzcy1jb2x1bW5zLTUteHhsYXJnZSA+ICoge1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuY3NzLWNvbHVtbnMtNi14eGxhcmdlIHtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi1jb3VudDogNjsgfVxuICAgIC5jc3MtY29sdW1ucy02LXh4bGFyZ2UgPiAqIHtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH0gfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzhmOGY4ZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMzcsIDM3LCAzNywgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjOGY4ZjhmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgzNywgMzcsIDM3LCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDM3LCAzNywgMzcsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMzcsIDM3LCAzNywgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgzNywgMzcsIDM3LCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgzNywgMzcsIDM3LCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXBoYWJsZXQge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1waGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1waGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1waGFibGV0IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1waGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItcGhhYmxldCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgMzcsIDM3LCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgMzcsIDM3LCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGY4ZjhmOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDM3LCAzNywgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogODByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogODByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogODByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ZjhmOGY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGY4ZjhmO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ZjhmOGY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMjUyNTI1O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOGY4ZjhmO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNywgMzcsIDM3LCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjUyNTI1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzI1MjUyNSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzI1MjUyNTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzI1MjUyNSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXBoYWJsZXQgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1waGFibGV0IC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cbiAgLnRvcC1iYXItdGl0bGUgLm1lbnUtaWNvbiB7XG4gICAgYm90dG9tOiAycHg7IH1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oZWFkZXItZmVhdHVyZV9fdGl0bGUsIC5ydGYtY29udGFpbmVyIC5ydGYgaDYgKyAqIHtcbiAgbWFyZ2luLXRvcDogMHJlbTsgfVxuXG4udmVydGljYWwtbWFyZ2luLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi1oYWxmIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctaGFsZiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucnRmLWNvbnRhaW5lciAucnRmID4gKiB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5mZWF0dXJlLXZpZGVvIC5wbGF5ZXIsIC5ydGYtY29udGFpbmVyIC50YWJsZV9fY2FwdGlvbiArICoge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi00IHtcbiAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTQge1xuICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNSB7XG4gIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy01IHtcbiAgcGFkZGluZy10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTYge1xuICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctNiB7XG4gIHBhZGRpbmctdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi03IHtcbiAgbWFyZ2luLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTcge1xuICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tOCB7XG4gIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy04IHtcbiAgcGFkZGluZy10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTkge1xuICBtYXJnaW4tdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctOSB7XG4gIHBhZGRpbmctdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0xMCB7XG4gIG1hcmdpbi10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMTAge1xuICBwYWRkaW5nLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTExIHtcbiAgbWFyZ2luLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xMSB7XG4gIHBhZGRpbmctdG9wOiAxMXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMTIge1xuICBtYXJnaW4tdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTEyIHtcbiAgcGFkZGluZy10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0wLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTAtc21hbGwge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4taGFsZi0xLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctaGFsZi0xLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTItc21hbGwge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMi1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0zLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTMtc21hbGwge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy00LXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTUtc21hbGwge1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctNS1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi02LXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTYtc21hbGwge1xuICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNy1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy03LXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTgtc21hbGwge1xuICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctOC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi05LXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTktc21hbGwge1xuICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMTAtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTEwLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0xMS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMTEtc21hbGwge1xuICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTEyLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xMi1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMC1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMC1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4taGFsZi0xLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLWhhbGYtMS1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xLXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0yLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0yLXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0zLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0zLXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi00LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy00LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi01LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy01LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi02LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy02LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi03LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy03LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi04LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy04LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi05LXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDlyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy05LXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMC1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEwLXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTEtcGhhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMS1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEyLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTItcGhhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudmVydGljYWwtbWFyZ2luLTAtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMC1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi1oYWxmLTEtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy1oYWxmLTEtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMi1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0yLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTMtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMy1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi00LW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTQtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy01LW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTYtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNi1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi03LW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTctbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy04LW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTktbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTAtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTExLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTItbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEyLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmVydGljYWwtbWFyZ2luLTAtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0wLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4taGFsZi0xLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy1oYWxmLTEtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTItbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0zLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMy1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTQtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy00LWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi02LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTctbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy03LWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOC1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTgtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi05LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDlyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEwLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEwLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTExLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTExLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEyLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEyLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnZlcnRpY2FsLW1hcmdpbi0wLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTAteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4taGFsZi0xLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctaGFsZi0xLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMS14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTIteGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0zLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTMteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNC14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy00LXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTUteGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi02LXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTYteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNy14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy03LXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTgteGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOC14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi05LXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTkteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTAteGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEwLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMS14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTEteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEyLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAudmVydGljYWwtbWFyZ2luLTAteHhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTAteHhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLWhhbGYtMS14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy1oYWxmLTEteHhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMS14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMS14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMi14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMi14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMy14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMy14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNC14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNC14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNS14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNS14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNi14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNi14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNy14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNy14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOC14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOC14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOS14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOS14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTAteHhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMC14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTExLXh4bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTEteHhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMi14eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEyLXh4bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmhpZGUtZm9yLXBoYWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItcGhhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItcGhhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXBoYWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtYXgtd2lkdGg6IDExOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5waGFibGV0LW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5waGFibGV0LW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5waGFibGV0LW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5waGFibGV0LW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5waGFibGV0LW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5waGFibGV0LW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5ncmF5IHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmJsYWNrIHtcbiAgY29sb3I6ICMyNTI1MjU7IH1cblxuLndoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmxpZ2h0LWdyYXkge1xuICBjb2xvcjogIzhmOGY4ZjsgfVxuXG4ub3JhbmdlLFxuLm9yYW5nZS1kYXJrIHtcbiAgY29sb3I6ICNkOTU0MWU7IH1cblxuLmdyZWVuLXRlYWwge1xuICBjb2xvcjogIzE1YTA4OTsgfVxuXG4uYmx1ZS10d2l0dGVyIHtcbiAgY29sb3I6ICMyYjlmY2U7IH1cblxuLnRlYWwge1xuICBjb2xvcjogIzE1YTA4OTsgfVxuXG4uYmx1ZS1saWdodCB7XG4gIGNvbG9yOiAjMmI5ZmNlOyB9XG5cbi5ibHVlLW5hdnkge1xuICBjb2xvcjogIzAwMzc2NDsgfVxuXG4ubWFnZW50YS1kYXJrIHtcbiAgY29sb3I6ICM4NDEyNmE7IH1cblxuLnJlZC1taWQge1xuICBjb2xvcjogI2EwMGYzNjsgfVxuXG4uY29uZi1vcmFuZ2Uge1xuICBjb2xvcjogI2Y4OTgxZDsgfVxuXG5cbi5oMSB7XG4gIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cblxuLmgyIHtcbiAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU3ODk7IH1cblxuXG4uaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA3MTQzOyB9XG5cblxuLmg0IHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuXG4uaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzsgfVxuXG5cbi5oNiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBcbiAgLmgxIHtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDY2Njc7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDQ1NDU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA2NjY3OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgXG4gIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBcbiAgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgXG4gIC5oNiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIFxuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgXG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5Mzc1OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgXG4gIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIFxuICAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgXG4gIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmhlYWRlci1mZWF0dXJlX190aXRsZSwgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0LCAuYnVsbGV0aW4gLnJ0Zi1jb250YWluZXIgLnJ0ZiBwLFxuLmV2ZW50X19pdGVtIC5ydGYtY29udGFpbmVyIC5ydGYgcCxcbi5mcmFua2xpbi1nb3RoaWMge1xuICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cblxuLmZyYW5rbGluLWdvdGhpYy1jb25kIHtcbiAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVydy1jb25kXCIsIFwiSGVsdmV0aWNhIE5ldWUgQ29uZGVuc2VkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5cbi5hcm5vLXBybyB7XG4gIGZvbnQtZmFtaWx5OiBcImFybm8tcHJvXCIsIFwiQmFza2VydmlsbGVcIiwgc2VyaWY7IH1cblxuXG4uYW1hdGljIHtcbiAgZm9udC1mYW1pbHk6IFwiQW1hdGljIFNDXCIsIGN1cnNpdmU7IH1cblxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAge1xuICBtYXJnaW46IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBvcGFjaXR5OyB9XG5cbi50ZXh0LW5vcm1hbCB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4udGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ud2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi53ZWlnaHQtc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi53ZWlnaHQtbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ud2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLndlaWdodC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLml0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uYnV0dG9uLCAuaGVhZGVyLWZlYXR1cmVfX3RpdGxlLFxuLnRyYWNraW5nLXNtYWxsIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsgfVxuXG5cbi50cmFja2luZy1sYXJnZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IH1cblxuLnJ0Zi1jb250YWluZXIgcCxcbi5ydGYtY29udGFpbmVyIGxpLCAuY2FtcGFpZ24tbGFuZGluZy1tYWluIHAsXG4udHJhY2tpbmctMTAge1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtOyB9XG5cbi5mb3JtIC5mb3JtLWVycm9yLFxuLnRyYWNraW5nLTIwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfVxuXG4uZm9ybSAuZm9ybS1lcnJvcixcbi5mb3JtIC5mb3JtX19lcnJvcnMsXG4udHJhY2tpbmctMzAge1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOyB9XG5cblxuLnRyYWNraW5nLTQwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsgfVxuXG5cbi50cmFja2luZy01MCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH1cblxuLnJ0Zi1jb250YWluZXIgdGgsXG4udHJhY2tpbmctNjAge1xuICBsZXR0ZXItc3BhY2luZzogMC4wNmVtOyB9XG5cblxuLnRyYWNraW5nLTcwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTsgfVxuXG5cbi50cmFja2luZy04MCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IH1cblxuXG4udHJhY2tpbmctOTAge1xuICBsZXR0ZXItc3BhY2luZzogMC4wOWVtOyB9XG5cblxuLnRyYWNraW5nLTEwMCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfVxuXG4uaGVhZGVyLWZlYXR1cmVfX3RpdGxlLCAuaGVhZGVyLXRvZ2dsZV9fdGV4dCwgLmhlYWRlci10b3BpY3NfX21lbnUsXG4udXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGlnaHQtc3BhY2VkIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4uc2luZ2xlLWxpbmUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cblxuLmxpbmUtaGVpZ2h0LTAge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5cbi5saW5lLWhlaWdodC0xIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG5cbi5saW5lLWhlaWdodC0yIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5cbi5saW5lLWhlaWdodC0zIHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG5cbi5saW5lLWhlaWdodC00IHtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5cbi5saW5lLWhlaWdodC01IHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5cbi5saW5lLWhlaWdodC02IHtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5cbi5saW5lLWhlaWdodC03IHtcbiAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuXG5cbi5saW5lLWhlaWdodC04IHtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG5cbi5saW5lLWhlaWdodC05IHtcbiAgbGluZS1oZWlnaHQ6IDEuOTsgfVxuXG5cbi5saW5lLWhlaWdodC0xMCB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5mbGV4LS1jb2x1bW4ge1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwOyB9XG5cbi5mbGV4LS13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5ndXR0ZXJzIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5ndXR0ZXJzLS1sYXJnZSB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuXG4ucG9zaXRpb25lZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4udS12aXN1YWxseWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi51LXZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTphY3RpdmUsXG4udS12aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5yb3cucm93LS1ndXR0ZXJzIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uaXMtaWUgLmllLWV4cGFuZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pcy1oaWRkZW4tdGVtcG9yYXJpbHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zaG93biB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tYWluOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDZkZWcpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uYm9yZGVyZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gIHdpZHRoOiAyNSU7IH1cblxuLmJvcmRlcmVkLS1ncmVlbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzE1YTA4OTsgfVxuXG4uY2lyY3VsYXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNpcmN1bGFyLS1pY29uLmZhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMi4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaXJjdWxhci0taWNvbi5mYSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICB3aWR0aDogMi44MTI1cmVtOyB9IH1cblxuLmNpcmN1bGFyLS1zb2NpYWwge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5jaXJjdWxhci0tc29jaWFsOmhvdmVyLCAuY2lyY3VsYXItLXNvY2lhbDpmb2N1cyB7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4uY2lyY3VsYXItLXR3aXR0ZXIge1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyYjlmY2U7XG4gIGNvbG9yOiAjMmI5ZmNlOyB9XG4gIC5jaXJjdWxhci0tdHdpdHRlcjpob3ZlciwgLmNpcmN1bGFyLS10d2l0dGVyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmI5ZmNlOyB9XG5cbi5jaXJjdWxhci0tZmFjZWJvb2sge1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDUyODg7XG4gIGNvbG9yOiAjMDA1Mjg4OyB9XG4gIC5jaXJjdWxhci0tZmFjZWJvb2s6aG92ZXIsIC5jaXJjdWxhci0tZmFjZWJvb2s6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICMwMDUyODg7IH1cblxuLmNpcmN1bGFyLS15b3V0dWJlIHtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjY2QyMDFmO1xuICBjb2xvcjogI2NkMjAxZjsgfVxuICAuY2lyY3VsYXItLXlvdXR1YmU6aG92ZXIsIC5jaXJjdWxhci0teW91dHViZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2NkMjAxZjsgfVxuXG4uY2lyY3VsYXItLWxpbmtlZGluIHtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMTVhMDg5O1xuICBjb2xvcjogIzE1YTA4OTsgfVxuICAuY2lyY3VsYXItLWxpbmtlZGluOmhvdmVyLCAuY2lyY3VsYXItLWxpbmtlZGluOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTVhMDg5OyB9XG5cbi5jaXJjdWxhci0taW5zdGFncmFtIHtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjRDg0RkE5O1xuICBjb2xvcjogI0Q4NEZBOTsgfVxuICAuY2lyY3VsYXItLWluc3RhZ3JhbTpob3ZlciwgLmNpcmN1bGFyLS1pbnN0YWdyYW06Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNEODRGQTk7IH1cblxuLmNpcmN1bGFyLS1waW50ZXJlc3Qge1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNERDgwNTg7XG4gIGNvbG9yOiAjREQ4MDU4OyB9XG4gIC5jaXJjdWxhci0tcGludGVyZXN0OmhvdmVyLCAuY2lyY3VsYXItLXBpbnRlcmVzdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI0REODA1ODsgfVxuXG4uY2lyY3VsYXItLXByaW50IHtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjODQxMjZhO1xuICBjb2xvcjogIzg0MTI2YTsgfVxuICAuY2lyY3VsYXItLXByaW50OmhvdmVyLCAuY2lyY3VsYXItLXByaW50OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjODQxMjZhOyB9XG5cbi5jaXJjdWxhci0tZW1haWwge1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmMjhiMDA7XG4gIGNvbG9yOiAjZjI4YjAwOyB9XG4gIC5jaXJjdWxhci0tZW1haWw6aG92ZXIsIC5jaXJjdWxhci0tZW1haWw6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmMjhiMDA7IH1cblxuLmNpcmN1bGFyLS13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmZWZlZmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlOyB9XG5cbmEuY2lyY3VsYXItLXdoaXRlOmhvdmVyLCBhLmNpcmN1bGFyLS13aGl0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgYS5jaXJjdWxhci0td2hpdGU6aG92ZXIuY2lyY3VsYXItLXR3aXR0ZXIsIGEuY2lyY3VsYXItLXdoaXRlOmZvY3VzLmNpcmN1bGFyLS10d2l0dGVyIHtcbiAgICBjb2xvcjogIzJiOWZjZSAhaW1wb3J0YW50OyB9XG4gIGEuY2lyY3VsYXItLXdoaXRlOmhvdmVyLmNpcmN1bGFyLS1mYWNlYm9vaywgYS5jaXJjdWxhci0td2hpdGU6Zm9jdXMuY2lyY3VsYXItLWZhY2Vib29rIHtcbiAgICBjb2xvcjogIzAwNTI4OCAhaW1wb3J0YW50OyB9XG4gIGEuY2lyY3VsYXItLXdoaXRlOmhvdmVyLmNpcmN1bGFyLS15b3V0dWJlLCBhLmNpcmN1bGFyLS13aGl0ZTpmb2N1cy5jaXJjdWxhci0teW91dHViZSB7XG4gICAgY29sb3I6ICNjZDIwMWYgIWltcG9ydGFudDsgfVxuXG4uY2lyY3VsYXItLXdoaXRlLWJvcmRlciB7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2ZlZmVmZTsgfVxuXG4ub3JuYW1lbnRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3JuYW1lbnRlZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5vcm5hbWVudGVkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JuYW1lbnRlZC0tdG9wLWxlZnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL29ybmFtZW50LS10b3AtbGVmdC5wbmdcIik7XG4gIGJvdHRvbTogMTAwJTtcbiAgaGVpZ2h0OiA1NHB4O1xuICBsZWZ0OiAtM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gIHdpZHRoOiAzNzNweDtcbiAgei1pbmRleDogLTE7IH1cblxuLm9ybmFtZW50ZWQtLXRvcC1yaWdodDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvb3JuYW1lbnQtLXRvcC1yaWdodC5wbmdcIik7XG4gIGhlaWdodDogMTYwcHg7XG4gIHJpZ2h0OiAtMjFweDtcbiAgdG9wOiAtMjFweDtcbiAgd2lkdGg6IDM3NXB4O1xuICB6LWluZGV4OiAtMTsgfVxuXG4ub3JuYW1lbnRlZC0tYm90dG9tOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9vcm5hbWVudC0tYm90dG9tLnBuZ1wiKTtcbiAgaGVpZ2h0OiA0OHB4O1xuICByaWdodDogMnJlbTtcbiAgdG9wOiAxMDAlO1xuICB3aWR0aDogMzczcHg7IH1cblxuLm9ybmFtZW50ZWQtLWJvdHRvbS5vcm5hbWVudGVkLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDJyZW07IH1cblxuLm9ybmFtZW50ZWQtLWxlZnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL29ybmFtZW50LS1ib3R0b20tbGVmdC5wbmdcIik7XG4gIGhlaWdodDogMzdweDtcbiAgcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiA2MDBweDsgfVxuXG4uZmVhdHVyZS10aWxlcywgLmlzLWhlYWRlci1zZWFyY2gtb3BlbiAuaGVhZGVyLXNlYXJjaF9fZmx5b3V0IC5oZWFkZXItc2VhcmNoX19mb3JtLCAuY2FtcGFpZ24tbGFuZGluZ19fcGxheWVyIC5wbGF5ZXJfX2J1dHRvbixcbi5zaGFkb3dlZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAzLjEyNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMyk7IH1cblxuLmxvY2F0aW9ucy1tYXAgLmluZm9Cb3gsXG4uc2hhZG93ZWQtLWxpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAwIDMuMTI1cmVtIHJnYmEoMzcsIDM3LCAzNywgMC4xNSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNoYWRvd2VkLWZvci1tZWRpdW0ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzLjEyNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMyk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hhZG93ZWQtZm9yLW1lZGl1bS0tbGlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzLjEyNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMTUpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNoYWRvd2VkLWZvci1waGFibGV0IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMy4xMjVyZW0gcmdiYSgzNywgMzcsIDM3LCAwLjMpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaGFkb3dlZC1mb3ItcGhhYmxldC1kb3duIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMy4xMjVyZW0gcmdiYSgzNywgMzcsIDM3LCAwLjMpOyB9IH1cblxuXG4uc2hhZG93ZWQtLXNtYWxsIHtcbiAgYm94LXNoYWRvdzogMCAwIDEuODc1cmVtIHJnYmEoMzcsIDM3LCAzNywgMC40KTsgfVxuXG4uaGVhZGVyLXNlYXJjaF9fZmx5b3V0LFxuLmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cblxuLnNnLWJvZHkge1xuICBtaW4taGVpZ2h0OiA1MHJlbTtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnNnLWJvZHkgLnNnLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc2ctYm9keSAuc2ctYmxvY2tfX2hlYWRlcjIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNnLWJvZHkgLnNnLWJsb2NrX19oZWFkZXIzIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5zZy1ib2R5IC5zZy1ibG9ja19fbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZy1ib2R5IC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5zZy1ib2R5IC50ZXN0aW1vbmlhbCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuXG4uc2ctYnV0dG9ucyAuYnV0dG9uLS1tYWdlbnRhLWxpZ2h0LmhvbGxvdyB7XG4gIGNvbG9yOiAjYjYzNzlhOyB9XG5cbi5zZy1idXR0b25zIC5idXR0b24tLWdyZWVuLWxpbWUuaG9sbG93IHtcbiAgY29sb3I6ICM4MWJjMDA7IH1cblxuLnNnLWNvbnRhaW4gLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2ctY29udGFpbiAuY29uZmVyZW5jZS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDUyODg7XG4gIGNvbG9yOiAjMDA1Mjg4O1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItY29sb3I6ICMyYjlmY2U7XG4gICAgY29sb3I6ICMyYjlmY2U7IH1cbiAgLmlzLWFjdGl2ZSAuY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7IH1cbiAgLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGF1dG87IH1cblxuLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAuNXJlbSAwOyB9XG5cbi5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICBib3JkZXI6IDA7IH1cblxuLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA1Mjg4OyB9XG4gIC5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJiOWZjZTsgfVxuXG4uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWRldGFpbHMge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLXNpZGVzIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLW1lZGl1bSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjM3NXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMzc1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLW1lZGl1bS1zaWRlcyB7XG4gIHBhZGRpbmctbGVmdDogMS4zNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzc1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLWxhcmdlLWNhcHRpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMS4zNzVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYWNrZ3JvdW5kLS1wYWRkaW5nLWxhcmdlLWNhcHRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS43NXJlbTsgfSB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDIuMTI1cmVtO1xuICBwYWRkaW5nLXRvcDogMS43NXJlbTsgfVxuXG4uYmFja2dyb3VuZC0tcGFkZGluZy1sYXJnZS1zaWRlcyB7XG4gIHBhZGRpbmctbGVmdDogMS43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTsgfVxuXG4uYmFja2dyb3VuZC0tcGFkZGluZy14bCB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLXRvcDogMi42MjVyZW07IH1cblxuLmJhY2tncm91bmQtLXBhZGRpbmcteGwtc2lkZXMge1xuICBwYWRkaW5nLWxlZnQ6IDIuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYmFja2dyb3VuZC0tcGFkZGluZy14bC1zaWRlcyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmJhY2tncm91bmQtLXBhZGRpbmcteHhsIHtcbiAgcGFkZGluZy1ib3R0b206IDMuOTM3NXJlbTtcbiAgcGFkZGluZy10b3A6IDMuNDM3NXJlbTsgfVxuXG4uYmFja2dyb3VuZC0tcGFkZGluZy14eGwtdG9wIHtcbiAgcGFkZGluZy10b3A6IDMuNDM3NXJlbTsgfVxuXG4uYmFja2dyb3VuZC0tcGFkZGluZy14eGwtc2lkZXMge1xuICBwYWRkaW5nLWxlZnQ6IDMuNDM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMy40Mzc1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLXh4eGwge1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgcGFkZGluZy10b3A6IDQuMzc1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLXh4eGwtc2lkZXMge1xuICBwYWRkaW5nLWxlZnQ6IDYuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDYuMjVyZW07IH1cblxuLmJhY2tncm91bmQtLXBhZGRpbmctcGxhY2Vob2xkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogOS4zNzVyZW07XG4gIHBhZGRpbmctdG9wOiA5LjM3NXJlbTsgfVxuXG4uYmFja2dyb3VuZC0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS13aGl0ZS10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC44NSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5iYWNrZ3JvdW5kLS1ibGFjay1mYWRlLWZvci1tZWRpdW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMyNTI1MjU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYmFja2dyb3VuZC0tYmxhY2stZmFkZS1mb3ItbWVkaXVtIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDEwMCUpO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9IH1cblxuLmJhY2tncm91bmQtLWJsYWNrLWZhZGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDEwMCUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYmFja2dyb3VuZC0tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJhY2tncm91bmQtLWJsYWNrLWZvci1tZWRpdW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMyNTI1MjU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYmFja2dyb3VuZC0tYmxhY2stZm9yLW1lZGl1bSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfSB9XG5cbi5iYWNrZ3JvdW5kLS1ibGFjay10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzcsIDM3LCAzNywgMC44NSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1ibHVlLWRhcmstMiB7XG4gIGJhY2tncm91bmQ6ICMwMTUyODk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1vcmFuZ2UtZGFyayB7XG4gIGJhY2tncm91bmQ6ICNkOTU0MWU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWNrZ3JvdW5kLS1vcmFuZ2UtZGFyayAuYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5iYWNrZ3JvdW5kLS1vcmFuZ2UtZGFyayAuYnV0dG9uLmhvbGxvdyB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFja2dyb3VuZC0tb3JhbmdlLWRhcmsgLmxpbmstLXdoaXRlOmhvdmVyLCAuYmFja2dyb3VuZC0tb3JhbmdlLWRhcmsgLmxpbmstLXdoaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogI2Y5YWQ0YTsgfVxuXG4uYmFja2dyb3VuZC0tZ3JlZW4tZm9yZXN0IHtcbiAgYmFja2dyb3VuZDogIzAwNTQzODtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJhY2tncm91bmQtLWdyZWVuLW1pZCB7XG4gIGJhY2tncm91bmQ6ICMwMDcwNGE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1ncmVlbi10ZWFsIHtcbiAgYmFja2dyb3VuZDogIzE1YTA4OTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJhY2tncm91bmQtLXJlZC1icmljayB7XG4gIGJhY2tncm91bmQ6ICNjMjNjMzM7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1tYWdlbnRhLWRhcmsge1xuICBiYWNrZ3JvdW5kOiAjODQxMjZhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFja2dyb3VuZC0tbWFnZW50YS1kYXJrIC5idXR0b24ge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWNrZ3JvdW5kLS1tYWdlbnRhLWRhcmsgLmZvcm0tZXJyb3Ige1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1ibHVlLW5hdnkge1xuICBiYWNrZ3JvdW5kOiAjMDAzNzY0O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFja2dyb3VuZC0tYmx1ZS1uYXZ5IC5idXR0b24ge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWNrZ3JvdW5kLS1ibHVlLW5hdnkgYTpub3QoLmxpbmstLWFycm93LTNkKTpob3ZlciwgLmJhY2tncm91bmQtLWJsdWUtbmF2eSBhOm5vdCgubGluay0tYXJyb3ctM2QpOmZvY3VzIHtcbiAgICBjb2xvcjogIzJiOWZjZTsgfVxuXG4uYmFja2dyb3VuZC0tYmx1ZS1kYXJrIHtcbiAgYmFja2dyb3VuZDogIzAwNTI4ODtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhY2tncm91bmQtLWJsdWUtZGFyayAuYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFja2dyb3VuZC0tYmx1ZS1kYXJrIGE6aG92ZXIsIC5iYWNrZ3JvdW5kLS1ibHVlLWRhcmsgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMyYjlmY2U7IH1cblxuLmJhY2tncm91bmQtLWJsdWUtbGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjMmI5ZmNlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFja2dyb3VuZC0tYmx1ZS1saWdodCBhIHtcbiAgICBjb2xvcjogIzAwNTI4ODtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmJhY2tncm91bmQtLWJsdWUtbGlnaHQgYTpob3ZlciwgLmJhY2tncm91bmQtLWJsdWUtbGlnaHQgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwMzc2NDsgfVxuXG4uYmFja2dyb3VuZC0tZ3JheSB7XG4gIGJhY2tncm91bmQ6ICNmMGYyZjI7IH1cblxuLmJhY2tncm91bmQtLWdyZWVuLXRlYWwtcGFsZSB7XG4gIGJhY2tncm91bmQ6ICNkY2YxZWQ7IH1cblxuLmJhY2tncm91bmQtLW9yYW5nZS12ZXJ5LWxpZ2h0IHtcbiAgYmFja2dyb3VuZDogI2ZlZjBkZDsgfVxuXG4uYmFja2dyb3VuZC0tZW1haWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cblxuLmJhY2tncm91bmQtLWFycm93LXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFja2dyb3VuZC0tYXJyb3ctdG9wOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAyLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAyLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMS4xMjVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cbiAgLmJhY2tncm91bmQtLWFycm93LXRvcC5iYWNrZ3JvdW5kLS1hcnJvdy10b3AtbGFyZ2U6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAycmVtIDQuNDM3NXJlbSAwO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNzFweCk7IH1cbiAgLmJhY2tncm91bmQtLWFycm93LXRvcC5iYWNrZ3JvdW5kLS1hcnJvdy10b3AtbWFnZW50YTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICM4NDEyNmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLnBsYXllci1iZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGxheWVyLWJnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucGxheWVyLWJnLmlzLXJlYWR5IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmlzLXBsYXlpbmctZmctdmlkZW8gLnBsYXllci1iZyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLnBsYXllci1iZyAucGx5cixcbiAgICAgIC5wbGF5ZXItYmcgaWZyYW1lIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucGxheWVyLWJnIHtcbiAgICAgIHRvcDogLTEwdmg7IH1cbiAgICAgIC5jb25mZXJlbmNlLXNwbGFzaC5zcGxhc2gtLWJnLXZpZGVvIC5wbGF5ZXItYmcge1xuICAgICAgICB0b3A6IDA7IH0gfVxuXG5odG1sOm5vdCguY29uZmVyZW5jZSkgYm9keSB7XG4gIHBhZGRpbmctdG9wOiAxMTZweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgLjNzO1xuICB3aWxsLWNoYW5nZTogcGFkZGluZy10b3A7IH1cbiAgaHRtbDpub3QoLmNvbmZlcmVuY2UpIGJvZHkuc2ctYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLyogWUFQTFxubmFtZTogQnJlYWRjcnVtYiBOYXZpZ2F0aW9uXG5wYXJ0aWFsOiBicmVhZGNydW1iLW5hdlxuY29udGV4dDogYnJlYWRjcnVtYi1uYXYubWFya2V0cGxhY2VcbnNlbGVjdG9yOiAuYnJlYWRjcnVtYi1uYXZfX2NvbnRhaW5lclxuKi9cbi5icmVhZGNydW1iLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDM3NjQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDUyODg7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7IH1cblxuLmJyZWFkY3J1bWItbmF2X19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7IH1cblxuLmJyZWFkY3J1bWItbmF2X19pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzc2NDtcbiAgY29sb3I6ICMxM2I1ZWE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTsgfVxuICAuYnJlYWRjcnVtYi1uYXZfX2l0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICB6LWluZGV4OiA3OyB9XG4gIC5icmVhZGNydW1iLW5hdl9faXRlbTpudGgtY2hpbGQoMikge1xuICAgIHotaW5kZXg6IDY7IH1cbiAgLmJyZWFkY3J1bWItbmF2X19pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgei1pbmRleDogNTsgfVxuICAuYnJlYWRjcnVtYi1uYXZfX2l0ZW0gLmZhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLmJyZWFkY3J1bWItbmF2X19pdGVtLmlzLWFjdGl2ZSAuYnJlYWRjcnVtYi1uYXZfX2xpbmsge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJyZWFkY3J1bWItbmF2X19pdGVtLmlzLWFjdGl2ZSAuYnJlYWRjcnVtYi1uYXZfX2xpbms6aG92ZXIsIC5icmVhZGNydW1iLW5hdl9faXRlbS5pcy1hY3RpdmUgLmJyZWFkY3J1bWItbmF2X19saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5icmVhZGNydW1iLW5hdl9faXRlbTpub3QoLmJyZWFkY3J1bWItbmF2X19pdGVtLS1sYXN0KTo6YWZ0ZXIsIC5icmVhZGNydW1iLW5hdl9faXRlbTpub3QoLmJyZWFkY3J1bWItbmF2X19pdGVtLS1sYXN0KTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYnJlYWRjcnVtYi1hcnJvdy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTZweDtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5icmVhZGNydW1iLW5hdl9faXRlbTpub3QoLmJyZWFkY3J1bWItbmF2X19pdGVtLS1sYXN0KTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYnJlYWRjcnVtYi1hcnJvdy0taG92ZXIucG5nXCIpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjg1cyBlYXNlO1xuICAgIHotaW5kZXg6IDQ7IH1cbiAgLmJyZWFkY3J1bWItbmF2X19pdGVtOm5vdCguaXMtYWN0aXZlKTpob3ZlciwgLmJyZWFkY3J1bWItbmF2X19pdGVtOm5vdCguaXMtYWN0aXZlKS5pcy1mb2N1c2VkLCAuYnJlYWRjcnVtYi1uYXZfX2l0ZW06bm90KC5pcy1hY3RpdmUpLmlzLWV4cGFuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1Mjg4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmJyZWFkY3J1bWItbmF2X19pdGVtOm5vdCguaXMtYWN0aXZlKTpob3Zlcjo6YmVmb3JlLCAuYnJlYWRjcnVtYi1uYXZfX2l0ZW06bm90KC5pcy1hY3RpdmUpLmlzLWZvY3VzZWQ6OmJlZm9yZSwgLmJyZWFkY3J1bWItbmF2X19pdGVtOm5vdCguaXMtYWN0aXZlKS5pcy1leHBhbmRlZDo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJyZWFkY3J1bWItbmF2X19pdGVtLmlzLWV4cGFuZGVkIC5mYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMDU2JzsgfVxuICAuYnJlYWRjcnVtYi1uYXZfX2l0ZW0gLmJyZWFkY3J1bWItbmF2X19kcm9wZG93bi1leHBhbmQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMC45Mzc1cmVtIDEuNTYyNXJlbTsgfVxuICAgIC5icmVhZGNydW1iLW5hdl9faXRlbSAuYnJlYWRjcnVtYi1uYXZfX2Ryb3Bkb3duLWV4cGFuZDpob3ZlciwgLmJyZWFkY3J1bWItbmF2X19pdGVtIC5icmVhZGNydW1iLW5hdl9fZHJvcGRvd24tZXhwYW5kOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNzFkM2YyOyB9XG4gICAgLmJyZWFkY3J1bWItbmF2X19pdGVtIC5icmVhZGNydW1iLW5hdl9fZHJvcGRvd24tZXhwYW5kICsgLmJyZWFkY3J1bWItbmF2X19saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLmJyZWFkY3J1bWItbmF2X19pdGVtIC5icmVhZGNydW1iLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07IH1cbiAgICAuYnJlYWRjcnVtYi1uYXZfX2l0ZW0gLmJyZWFkY3J1bWItbmF2X19saW5rOmhvdmVyLCAuYnJlYWRjcnVtYi1uYXZfX2l0ZW0gLmJyZWFkY3J1bWItbmF2X19saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNzFkM2YyOyB9XG5cbi5icmVhZGNydW1iLW5hdl9fZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1Mjg4O1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDIuNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB6LWluZGV4OiAxOyB9XG4gIC5pcy1leHBhbmRlZCAuYnJlYWRjcnVtYi1uYXZfX2Ryb3Bkb3duIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uYnJlYWRjcnVtYl9fZHJvcGRvd24taXRlbSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMTBweCAwOyB9XG4gIC5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIC5icmVhZGNydW1iX19kcm9wZG93bi1saW5rIHtcbiAgICBjb2xvcjogIzEzYjVlYTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYnJlYWRjcnVtYl9fZHJvcGRvd24taXRlbSAuYnJlYWRjcnVtYl9fZHJvcGRvd24tbGluazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxM2I1ZWE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBsZWZ0OiAtMTZweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgbGVmdDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAuYnJlYWRjcnVtYl9fZHJvcGRvd24taXRlbSAuYnJlYWRjcnVtYl9fZHJvcGRvd24tbGluazpob3ZlciwgLmJyZWFkY3J1bWJfX2Ryb3Bkb3duLWl0ZW0gLmJyZWFkY3J1bWJfX2Ryb3Bkb3duLWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICM3MWQzZjI7IH1cbiAgICAgIC5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIC5icmVhZGNydW1iX19kcm9wZG93bi1saW5rOmhvdmVyOjpiZWZvcmUsIC5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIC5icmVhZGNydW1iX19kcm9wZG93bi1saW5rOmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIC5icmVhZGNydW1iX19kcm9wZG93bi1saW5rLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmJyZWFkY3J1bWJfX2Ryb3Bkb3duLWl0ZW0gLmJyZWFkY3J1bWJfX2Ryb3Bkb3duLWxpbmsuaXMtYWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIC5icmVhZGNydW1iX19kcm9wZG93bi1saW5rLmlzLWFjdGl2ZTpmb2N1czo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBPcmFuZ2VcbnBhcnRpYWw6IHNnLWJ1dHRvbi1vcmFuZ2VcbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuLyogWUFQTFxubmFtZTogQnV0dG9uIC0gQmx1ZVxucGFydGlhbDogc2ctYnV0dG9uLWJsdWVcbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuLyogWUFQTFxubmFtZTogQnV0dG9uIC0gR3JlZW5cbnBhcnRpYWw6IHNnLWJ1dHRvbi1ncmVlblxuc2VsZWN0b3I6IC5idXR0b25cbiovXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBNYWdlbnRhXG5wYXJ0aWFsOiBzZy1idXR0b24tbWFnZW50YVxuc2VsZWN0b3I6IC5idXR0b25cbiovXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBPcmFuZ2VcbnBhcnRpYWw6IHNnLWJ1dHRvbi1vcmFuZ2VcbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuLyogWUFQTFxubmFtZTogQnV0dG9uXG5wYXJ0aWFsOiBzZy1idXR0b25cbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVydy1jb25kXCIsIFwiSGVsdmV0aWNhIE5ldWUgQ29uZGVuc2VkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIG9wYWNpdHksIGJvcmRlcjsgfVxuICAuYnV0dG9uOmhvdmVyIGksIC5idXR0b246Zm9jdXMgaSB7XG4gICAgbGVmdDogMC4zNzVyZW07IH1cbiAgLmJ1dHRvbiBpIHtcbiAgICBsZWZ0OiAwLjA2MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGxlZnQgLjNzIGVhc2U7IH1cbiAgICAuYnV0dG9uIGkuZmEtYW5nbGUtcmlnaHQ6OmJlZm9yZSwgLmJ1dHRvbiBpLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJ1dHRvbiAuaWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB3aWR0aDogOXB4OyB9XG4gICAgLmJ1dHRvbiAuaWNvbi5mYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5idXR0b24gLmljb24uZmE6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmJ1dHRvbi5saW5rLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTsgfVxuICAgIC5idXR0b24ubGluay0tbW9yZSAuaWNvbi5mYSB7XG4gICAgICBsZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5idXR0b24ubGluay0tbW9yZTpob3ZlciAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0LCAuYnV0dG9uLmxpbmstLW1vcmU6aG92ZXIgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0LCAuYnV0dG9uLmxpbmstLW1vcmU6aG92ZXIgLmljb24uZmEuZmEtYW5nbGUtcmlnaHQsIC5idXR0b24ubGluay0tbW9yZTpob3ZlciAuaWNvbi5mYS5mYS1hbmdsZS1sZWZ0LCAuYnV0dG9uLmxpbmstLW1vcmU6Zm9jdXMgLmljb24uZmEuZmEtY2hldnJvbi1yaWdodCwgLmJ1dHRvbi5saW5rLS1tb3JlOmZvY3VzIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdCwgLmJ1dHRvbi5saW5rLS1tb3JlOmZvY3VzIC5pY29uLmZhLmZhLWFuZ2xlLXJpZ2h0LCAuYnV0dG9uLmxpbmstLW1vcmU6Zm9jdXMgLmljb24uZmEuZmEtYW5nbGUtbGVmdCB7XG4gICAgICBsZWZ0OiAwLjkzNzVyZW07IH1cblxuLmJ1dHRvbi0tbmFycm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMDYyNXJlbSAwLjg3NXJlbTsgfVxuXG4uYnV0dG9uLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYnV0dG9uLS1zbWFsbCAuaWNvbiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiA4cHg7IH1cbiAgICAuYnV0dG9uLS1zbWFsbCAuaWNvbi5mYSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmJ1dHRvbi0tc21hbGwgLmljb24uZmE6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuICAgIC5idXR0b24tLXNtYWxsIC5pY29uLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICB0b3A6IC0uMTVlbTsgfVxuXG4uYnV0dG9uLS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuICAuYnV0dG9uLS1sYXJnZSAuaWNvbiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiA4cHg7IH1cbiAgICAuYnV0dG9uLS1sYXJnZSAuaWNvbi5mYSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmJ1dHRvbi0tbGFyZ2UgLmljb24uZmE6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuICAgIC5idXR0b24tLWxhcmdlIC5pY29uLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICB0b3A6IC0uMDVlbTsgfVxuXG4uYnV0dG9uLS1sb2dpbiB7XG4gIHBhZGRpbmc6IDExcHggMTNweDsgfVxuXG4uYnV0dG9uLS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZDk1NDFlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1vcmFuZ2U6aG92ZXIsIC5idXR0b24tLW9yYW5nZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTQxZTtcbiAgICBib3JkZXItY29sb3I6ICNiNTQ2MTk7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tb3JhbmdlLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2Y4OTgxZDtcbiAgICBjb2xvcjogI2Q5NTQxZTsgfVxuICAgIC5idXR0b24tLW9yYW5nZS5ob2xsb3cud2hpdGUge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLS1vcmFuZ2UuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1vcmFuZ2UuaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmODk4MWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNlNTg0MDc7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1vcmFuZ2Uub3JhbmdlIHtcbiAgICBib3JkZXItY29sb3I6ICNmODk4MWQ7XG4gICAgY29sb3I6ICNkOTU0MWU7IH1cbiAgICAuYnV0dG9uLS1vcmFuZ2Uub3JhbmdlOmhvdmVyLCAuYnV0dG9uLS1vcmFuZ2Uub3JhbmdlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLW9yYW5nZS1zb2xpZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTU0MWU7IH1cbiAgLmJ1dHRvbi0tb3JhbmdlLXNvbGlkOmhvdmVyLCAuYnV0dG9uLS1vcmFuZ2Utc29saWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU0MWU7IH1cblxuLmJ1dHRvbi0tb3JhbmdlLWRhcmsge1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZDk1NDFlOyB9XG4gIC5idXR0b24tLW9yYW5nZS1kYXJrOmhvdmVyLCAuYnV0dG9uLS1vcmFuZ2UtZGFyazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTQxZTtcbiAgICBib3JkZXItY29sb3I6ICNlNDZjM2M7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tb3JhbmdlLWRhcmsuaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZDk1NDFlO1xuICAgIGNvbG9yOiAjZDk1NDFlOyB9XG4gICAgLmJ1dHRvbi0tb3JhbmdlLWRhcmsuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1vcmFuZ2UtZGFyay5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTQxZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0NmMzYztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLWJsdWUsXG4uYnV0dG9uLS1ibHVlLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tYmx1ZTpob3ZlciwgLmJ1dHRvbi0tYmx1ZTpmb2N1cyxcbiAgLmJ1dHRvbi0tYmx1ZS1saWdodDpob3ZlcixcbiAgLmJ1dHRvbi0tYmx1ZS1saWdodDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTsgfVxuICAuYnV0dG9uLS1ibHVlLmhvbGxvdyxcbiAgLmJ1dHRvbi0tYmx1ZS1saWdodC5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICMyYjlmY2U7IH1cbiAgICAuYnV0dG9uLS1ibHVlLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi0tYmx1ZS5ob2xsb3c6Zm9jdXMsXG4gICAgLmJ1dHRvbi0tYmx1ZS1saWdodC5ob2xsb3c6aG92ZXIsXG4gICAgLmJ1dHRvbi0tYmx1ZS1saWdodC5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI0ODVhYztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLWJsdWUtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyODg7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLWJsdWUtZGFyazpob3ZlciwgLmJ1dHRvbi0tYmx1ZS1kYXJrOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1Mjg4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLWJsdWUtZGFyay5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICMwMDUyODg7IH1cbiAgICAuYnV0dG9uLS1ibHVlLWRhcmsuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1ibHVlLWRhcmsuaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDVlOWM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLS1ibHVlLW5hdnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNzY0O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1ibHVlLW5hdnk6aG92ZXIsIC5idXR0b24tLWJsdWUtbmF2eTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzc2NDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1ibHVlLW5hdnkuaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjMDAzNzY0O1xuICAgIGNvbG9yOiAjMDAzNzY0OyB9XG4gICAgLmJ1dHRvbi0tYmx1ZS1uYXZ5LmhvbGxvdzpob3ZlciwgLmJ1dHRvbi0tYmx1ZS1uYXZ5LmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNzY0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0Mjc4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tYmx1ZS10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tYmx1ZS10d2l0dGVyOmhvdmVyLCAuYnV0dG9uLS1ibHVlLXR3aXR0ZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjlmY2U7IH1cbiAgLmJ1dHRvbi0tYmx1ZS10d2l0dGVyLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgIzJiOWZjZTsgfVxuICAgIC5idXR0b24tLWJsdWUtdHdpdHRlci5ob2xsb3c6aG92ZXIsIC5idXR0b24tLWJsdWUtdHdpdHRlci5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI0ODVhYztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLWdyZWVuLWxpbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODFiYzAwO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjODFiYzAwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1ncmVlbi1saW1lOmhvdmVyLCAuYnV0dG9uLS1ncmVlbi1saW1lOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODFiYzAwO1xuICAgIGJvcmRlci1jb2xvcjogIzY1OTMwMDsgfVxuICAuYnV0dG9uLS1ncmVlbi1saW1lLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgIzgxYmMwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tLWdyZWVuLWxpbWUuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1ncmVlbi1saW1lLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODFiYzAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjU5MzAwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tZ3JlZW4tbWlkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA0YTtcbiAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgIzAwNzA0YTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tZ3JlZW4tbWlkOmhvdmVyLCAuYnV0dG9uLS1ncmVlbi1taWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwNGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA0NzJmOyB9XG4gIC5idXR0b24tLWdyZWVuLW1pZC5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICMwMDcwNGE7XG4gICAgY29sb3I6ICMwMDcwNGE7IH1cbiAgICAuYnV0dG9uLS1ncmVlbi1taWQuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1ncmVlbi1taWQuaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwNGE7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDQ3MmY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLS1ncmVlbi10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1YTA4OTtcbiAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgIzE1YTA4OTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tZ3JlZW4tdGVhbDpob3ZlciwgLmJ1dHRvbi0tZ3JlZW4tdGVhbDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1YTA4OTtcbiAgICBib3JkZXItY29sb3I6ICMxYWM0YTg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLS1ncmVlbi10ZWFsOmhvdmVyIC5pY29uLS1hcnJvdy1yaWdodCwgLmJ1dHRvbi0tZ3JlZW4tdGVhbDpmb2N1cyAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2Fycm93LXJpZ2h0LS10ZWFsLWRhcmsuc3ZnXCIpOyB9XG5cbi5idXR0b24tLW9yYW5nZS1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmODk4MWQ7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLW9yYW5nZS1saWdodDpob3ZlciwgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgIGNvbG9yOiAjZmJjMTc3OyB9XG4gICAgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0OmhvdmVyIC5pY29uLS1hcnJvdy1yaWdodCwgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0OmZvY3VzIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQtLW9yYW5nZS1kYXJrLnN2Z1wiKTsgfVxuICAuYnV0dG9uLS1vcmFuZ2UtbGlnaHQuaG9sbG93IHtcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZjg5ODFkO1xuICAgIGNvbG9yOiAjZjg5ODFkOyB9XG4gICAgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0LmhvbGxvdzpob3ZlciwgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0LmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjg5ODFkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTU4NDA3O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tbWFnZW50YS1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNjM3OWE7XG4gIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICNiNjM3OWE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLW1hZ2VudGEtbGlnaHQ6aG92ZXIsIC5idXR0b24tLW1hZ2VudGEtbGlnaHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNjM3OWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTcyZTdmOyB9XG4gIC5idXR0b24tLW1hZ2VudGEtbGlnaHQuaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjYjYzNzlhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi0tbWFnZW50YS1saWdodC5ob2xsb3c6aG92ZXIsIC5idXR0b24tLW1hZ2VudGEtbGlnaHQuaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNjM3OWE7XG4gICAgICBib3JkZXItY29sb3I6ICM5NzJlN2Y7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLS1yZWQtYnJpY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIzYzMzO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1yZWQtYnJpY2s6aG92ZXIsIC5idXR0b24tLXJlZC1icmljazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EyMzIyYjsgfVxuXG4uYnV0dG9uLS1tYWdlbnRhLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODQxMjZhO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjODQxMjZhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1tYWdlbnRhLWRhcms6aG92ZXIsIC5idXR0b24tLW1hZ2VudGEtZGFyazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg0MTI2YTtcbiAgICBib3JkZXItY29sb3I6ICM2MDBkNGQ7IH1cbiAgLmJ1dHRvbi0tbWFnZW50YS1kYXJrLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgIzg0MTI2YTtcbiAgICBjb2xvcjogIzg0MTI2YTsgfVxuICAgIC5idXR0b24tLW1hZ2VudGEtZGFyay5ob2xsb3c6aG92ZXIsIC5idXR0b24tLW1hZ2VudGEtZGFyay5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg0MTI2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYwMGQ0ZDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY4ZjhmO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjOGY4ZjhmO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1ncmF5OmhvdmVyLCAuYnV0dG9uLS1ncmF5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY4ZjhmO1xuICAgIGJvcmRlci1jb2xvcjogIzdiN2I3YjsgfVxuICAuYnV0dG9uLS1ncmF5LmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2QyZDJkMjtcbiAgICBjb2xvcjogIzhmOGY4ZjsgfVxuICAgIC5idXR0b24tLWdyYXkuaG9sbG93OmhvdmVyLCAuYnV0dG9uLS1ncmF5LmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY4ZjhmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjN2I3YjdiO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLyogWUFQTFxubmFtZTogQ2FyZHNcbnBhcnRpYWw6IGNhcmRzXG5jb250ZXh0OiBjYXJkcy5zaXRlbWFwXG5zZWxlY3RvcjogLmNhcmRzXG4qL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcmRzLS1zaXRlbWFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLmNhcmQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQgfiAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY2FyZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuODVlbSAxcmVtOyB9XG4gICAgLmNhcmQgLmJ1dHRvbiAuaWNvbi5mYS5mYS1leHRlcm5hbC1saW5rIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuY2FyZCAuYnV0dG9uIC5pY29uLmZhLmZhLWV4dGVybmFsLWxpbms6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgfVxuICAgIC5jYXJkIC5idXR0b24gLmljb24uZmEuZmEtY2hldnJvbi1yaWdodDo6YmVmb3JlIHtcbiAgICAgIHRvcDogLTFweDsgfVxuXG4uY2FyZC0tbWFnZW50YS1kYXJrIHtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjODQxMjZhOyB9XG4gIC5jYXJkLS1tYWdlbnRhLWRhcmsgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg0MTI2YTsgfVxuXG4uY2FyZC0tZ3JlZW4tdGVhbCB7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgIzE1YTA4OTsgfVxuICAuY2FyZC0tZ3JlZW4tdGVhbCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTVhMDg5OyB9XG5cbi8qIFlBUExcbm5hbWU6IENhcHRpb25lZCBJbWFnZVxucGFydGlhbDogY2FwdGlvbmVkLWltYWdlXG5jb250ZXh0OiBjYXB0aW9uZWQtaW1hZ2VzLm1zMlxuc2VsZWN0b3I6IC5jYXB0aW9uZWQtaW1hZ2VcbiovXG4uY2FwdGlvbmVkLWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2FwdGlvbmVkLWltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5jYXB0aW9uZWQtaW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjY4NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4zNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTsgfVxuICAuY2FwdGlvbmVkLWltYWdlIC5jYXB0aW9uX190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gICAgLmNhcHRpb25lZC1pbWFnZSAuY2FwdGlvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgIHRvcDogMTAlOyB9XG4gIC5jYXB0aW9uZWQtaW1hZ2UgLmlzLWluLXZpZXcgZmlnY2FwdGlvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgLmNhcHRpb25lZC1pbWFnZSAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAgIC5jYXB0aW9uZWQtaW1hZ2UgLmlzLWluLXZpZXcgZmlnY2FwdGlvbiAuY2FwdGlvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiA4MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2FwdGlvbmVkLWltYWdlLmNhcHRpb25lZC1pbWFnZS0tbGFyZ2UgLmNhcHRpb25fX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmNhcHRpb25lZC1pbWFnZS5jYXB0aW9uZWQtaW1hZ2UtLWxhcmdlIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24gLmNhcHRpb25fX3RleHQ6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE2MCU7IH1cbiAgICAuY2FwdGlvbmVkLWltYWdlLmNhcHRpb25lZC1pbWFnZS0tbGFyZ2UuY2FwdGlvbmVkLWltYWdlLS1kb3duIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24gLmNhcHRpb25fX3RleHQ6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0zMCU7IH1cbiAgICAuY2FwdGlvbmVkLWltYWdlLmNhcHRpb25lZC1pbWFnZS0tbGFyZ2UuY2FwdGlvbmVkLWltYWdlLS11cCAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0OjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAtMzAlOyB9IH1cbiAgLmNhcHRpb25lZC1pbWFnZS5tYXN0ZXItc3ViLW1haW4taW1hZ2Uge1xuICAgIHotaW5kZXg6IDA7IH1cblxuLmNhcHRpb25fX3RleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogLjVzIGVhc2U7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4zNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICAuY2FwdGlvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjRzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjQ1cztcbiAgICB3aWR0aDogNHB4OyB9XG4gICAgLmJhY2tncm91bmQtLW9yYW5nZS1kYXJrIC5jYXB0aW9uX190ZXh0OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4OTgxZDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FwdGlvbmVkLWltYWdlLS11cCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2FwdGlvbmVkLWltYWdlLS11cCBmaWdjYXB0aW9uIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIGZpZ2NhcHRpb24uYmFja2dyb3VuZC0tYmxhY2stZmFkZS1mb3ItbWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWluLWhlaWdodDogOS4zNzVyZW07IH1cbiAgICAgICAgLmlzLWllIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIGZpZ2NhcHRpb24uYmFja2dyb3VuZC0tYmxhY2stZmFkZS1mb3ItbWVkaXVtIHtcbiAgICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9XG4gICAgLmNhcHRpb25lZC1pbWFnZS0tdXAgLmluLXZpZXctdHJpZ2dlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAgICAgLmNhcHRpb25lZC1pbWFnZS0tdXAgLmNhcHRpb25fX3RleHQ6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgICB0b3A6IGF1dG87IH0gfVxuXG4uaXMtaWUgLmNhcHRpb25lZC1pbWFnZS0tZG93biBmaWdjYXB0aW9uLFxuLmlzLWZpcmVmb3ggLmNhcHRpb25lZC1pbWFnZS0tZG93biBmaWdjYXB0aW9uLFxuLmlzLWVkZ2UgLmNhcHRpb25lZC1pbWFnZS0tZG93biBmaWdjYXB0aW9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsgfVxuXG4uaXMtaWUgLmNhcHRpb25lZC1pbWFnZS0tZG93biAuaXMtaW4tdmlldyBmaWdjYXB0aW9uLFxuLmlzLWZpcmVmb3ggLmNhcHRpb25lZC1pbWFnZS0tZG93biAuaXMtaW4tdmlldyBmaWdjYXB0aW9uLFxuLmlzLWVkZ2UgLmNhcHRpb25lZC1pbWFnZS0tZG93biAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmlzLWllIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIGZpZ2NhcHRpb24sXG4gIC5pcy1maXJlZm94IC5jYXB0aW9uZWQtaW1hZ2UtLXVwIGZpZ2NhcHRpb24sXG4gIC5pcy1lZGdlIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIGZpZ2NhcHRpb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7IH1cbiAgLmlzLWllIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24sXG4gIC5pcy1maXJlZm94IC5jYXB0aW9uZWQtaW1hZ2UtLXVwIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24sXG4gIC5pcy1lZGdlIC5jYXB0aW9uZWQtaW1hZ2UtLXVwIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBDb21tdW5pdHlcbnBhcnRpYWw6IGNvbW11bml0eVxuKi9cbi5jb21tdW5pdHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNTUwcHg7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tbXVuaXR5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNi4yNXJlbTsgfSB9XG4gIC5jb21tdW5pdHkuaXMtaW4tdmlldyAuY29tbXVuaXR5X19pdGVtIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmVmZWZlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogMS43NXJlbSAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAlKTtcbiAgICB0cmFuc2l0aW9uOiAuOHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cbiAgICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4yczsgfVxuICAgIC5jb21tdW5pdHkgLmNvbW11bml0eV9faXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjRzOyB9XG4gICAgLmNvbW11bml0eSAuY29tbXVuaXR5X19pdGVtIC5jb21tdW5pdHlfX2xpbmsge1xuICAgICAgY29sb3I6ICNmODk4MWQ7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW0gLmNvbW11bml0eV9fbGluayB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW0gLmNvbW11bml0eV9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZjlhZDRhOyB9XG4gICAgICAuY29tbXVuaXR5IC5jb21tdW5pdHlfX2l0ZW0gLmNvbW11bml0eV9fbGluayAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICAgIHRvcDogLS4xMjVyZW07IH1cblxuLyogWUFQTFxubmFtZTogQ29tbXVuaXR5IEFubm91bmNlbWVudHNcbnBhcnRpYWw6IGNvbW11bml0eS1hbm5vdW5jZW1lbnRzXG4qL1xuLmNvbW11bml0eS1hbm5vdW5jZW1lbnRzIC5jb21tdW5pdHktYW5ub3VuY2VtZW50c19fdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLmNvbW11bml0eS1hbm5vdW5jZW1lbnRzIC5jb21tdW5pdHktYW5ub3VuY2VtZW50c19fbGlzdCBsaSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgcGFkZGluZzogLjI1cmVtIDA7IH1cbiAgLmNvbW11bml0eS1hbm5vdW5jZW1lbnRzIC5jb21tdW5pdHktYW5ub3VuY2VtZW50c19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjg5ODFkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5jb21tdW5pdHktYW5ub3VuY2VtZW50cyAuY29tbXVuaXR5LWFubm91bmNlbWVudHNfX2xpc3QgfiAuYnV0dG9uIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4vKiBZQVBMXG5uYW1lOiBDb250YWN0IE9wdGlvbnNcbnBhcnRpYWw6IGNvbnRhY3Qtb3B0aW9uc1xuY29udGV4dDogY29udGFjdC1vcHRpb25zXG4qL1xuLmNvbnRhY3Qtb3B0aW9uc19faXRlbSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkMmQyZDI7IH1cbiAgLmNvbnRhY3Qtb3B0aW9uc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmNvbnRhY3Qtb3B0aW9uc19faXRlbSBpbWcge1xuICAgIG1heC13aWR0aDogNi4yNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGFjdC1vcHRpb25zX19pdGVtLWlubmVyIHAge1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi8qIFlBUExcbm5hbWU6IEJsdWUgQ2FsbC10by1BY3Rpb25cbnBhcnRpYWw6IGN0YS1ibHVlXG5jb250ZXh0OiBjdGEtYmx1ZS5tczFcbiovXG4uY3RhLWJsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmN0YS1ibHVlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyODg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzhweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDM5cHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIHdpZHRoOiA3OHB4OyB9XG4gIC5jdGEtYmx1ZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTJweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDZweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIHdpZHRoOiAxMnB4OyB9XG4gIC5jdGEtYmx1ZSAuYnV0dG9uLS1ibHVlLWxpZ2h0LnNvbGlkIHtcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjMmI5ZmNlOyB9XG4gICAgLmN0YS1ibHVlIC5idXR0b24tLWJsdWUtbGlnaHQuc29saWQ6aG92ZXIsIC5jdGEtYmx1ZSAuYnV0dG9uLS1ibHVlLWxpZ2h0LnNvbGlkOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjlmY2U7XG4gICAgICBib3JkZXItY29sb3I6ICMyNDg1YWM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uY3RhX19idXR0b25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmN0YS1ibHVlIC5jdGFfX2J1dHRvbnMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmN0YV9fYnV0dG9ucyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogMzI1cHg7XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICAuY3RhLWJsdWUgLmN0YV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uIC5jdGFfX3RleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3RhX19idXR0b25zIC5idXR0b24gLmN0YV9fdGV4dDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDU0JztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHJpZ2h0OyB9XG4gICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uOmhvdmVyIC5jdGFfX3RleHQ6OmFmdGVyLCAuY3RhX19idXR0b25zIC5idXR0b246Zm9jdXMgLmN0YV9fdGV4dDo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0yNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY3RhX19idXR0b25zIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3RhX19idXR0b25zIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgd2lkdGg6IDM1JTsgfVxuICAgICAgICAuY3RhLWJsdWUgLmN0YV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmN0YS1ibHVlIC5jdGFfX2J1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgLjc1cmVtIDFyZW07IH0gfVxuICAgIC5jdGFfX2J1dHRvbnMgLmJ1dHRvbiAuY3RhX19idXR0b24tdGV4dCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmN0YV9fYnV0dG9ucyAuYnV0dG9uLnBsYXllcl9fcGxheSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC44NzVyZW07IH1cbiAgICAgIC5jdGFfX2J1dHRvbnMgLmJ1dHRvbi5wbGF5ZXJfX3BsYXkgLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9wbGF5LWNpcmNsZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG5cbi8qIFlBUExcbm5hbWU6IE9yYW5nZSBDYWxsLXRvLUFjdGlvblxucGFydGlhbDogY3RhLW9yYW5nZVxuY29udGV4dDogY3RhLW9yYW5nZS5ocDFcbnNlbGVjdG9yOiAuY3RhLW9yYW5nZVxuKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdGEtb3JhbmdlLS1jZW50ZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IEVtYWlsIFNpZ24tdXAgRm9ybVxucGFydGlhbDogZW1haWwtc2lnbi11cFxuKi9cbi5lbWFpbC1zaWduLXVwIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZDk1NDFlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmVtYWlsLXNpZ24tdXAgLmlucHV0LWdyb3VwIC5maWVsZCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5lbWFpbC1zaWduLXVwIC5pbnB1dC1ncm91cCAuZmllbGQuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAgIC5lbWFpbC1zaWduLXVwIC5pbnB1dC1ncm91cCAuZmllbGQgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjJmMjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTBweCAxNHB4IDE0cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVtYWlsLXNpZ24tdXAgLmlucHV0LWdyb3VwIC5maWVsZDpudGgtY2hpbGQoMykge1xuICAgICAgICB3aWR0aDogMzUlOyB9IH1cbiAgICAuZW1haWwtc2lnbi11cCAuaW5wdXQtZ3JvdXAgLmZpZWxkIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7IH1cbiAgLmVtYWlsLXNpZ24tdXAgLmZvcm0gLmZvcm1fX2Vycm9ycyxcbiAgLmVtYWlsLXNpZ24tdXAgLmZvcm0gLmZvcm0tZXJyb3Ige1xuICAgIGNvbG9yOiAjYzIzYzMzOyB9XG4gIC5lbWFpbC1zaWduLXVwIC5sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIC4zcyBlYXNlOyB9XG4gIC5lbWFpbC1zaWduLXVwIC5maWVsZC0tbm90LWVtcHR5IC5sYWJlbC10ZXh0LFxuICAuZW1haWwtc2lnbi11cCAuZmllbGQtLWZvY3VzZWQgLmxhYmVsLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogWUFQTFxubmFtZTogRXZlbnRzIC0gSG9tZXBhZ2VcbnBhcnRpYWw6IHNnLWV2ZW50c1xuc2VsZWN0b3I6IC5ldmVudHNcbiovXG4uZXZlbnRfX2l0ZW0gLmNvbHVtbiA+IGltZywgLmV2ZW50X19pdGVtIC5jb2x1bW5zID4gaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYnVsbGV0aW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IEVycm9yIFBhZ2UgU2VhcmNoXG5wYXJ0aWFsOiBlcnJvci1zZWFyY2hcbmNvbnRleHQ6IGVycm9yLXNlYXJjaC40MDQtcGFnZVxuKi9cbi5lcnJvci1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiA2NTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmVycm9yLXNlYXJjaCB7XG4gICAgICBtaW4taGVpZ2h0OiA3MDBweDsgfSB9XG5cbi5lcnJvci1zZWFyY2gtY29udGVudCB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDQwcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMzAwcHg7XG4gIHdpZHRoOiA5NSU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuZXJyb3Itc2VhcmNoLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmVycm9yLXNlYXJjaC1jb250ZW50IHtcbiAgICAgIHRvcDogNDAwcHg7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZXJyb3Itc2VhcmNoLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gIC5lcnJvci1zZWFyY2gtY29udGVudCAuc3BsYXNoLXNlYXJjaF9fZm9ybSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuZXJyb3Itc2VhcmNoLWNvbnRlbnQgLmZvcm0gLmZsb2F0aW5nLWxhYmVsIHtcbiAgICBsZWZ0OiA3NXB4O1xuICAgIHRvcDogNDUlOyB9XG4gICAgLmVycm9yLXNlYXJjaC1jb250ZW50IC5mb3JtIC5mbG9hdGluZy1sYWJlbCAubGFiZWwtdGV4dCB7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgLjNzIGVhc2U7IH1cbiAgLmVycm9yLXNlYXJjaC1jb250ZW50IC5maWVsZC0tbm90LWVtcHR5IC5mbG9hdGluZy1sYWJlbCxcbiAgLmVycm9yLXNlYXJjaC1jb250ZW50IC5maWVsZC0tZm9jdXNlZCAuZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTVweDsgfVxuICAgIC5lcnJvci1zZWFyY2gtY29udGVudCAuZmllbGQtLW5vdC1lbXB0eSAuZmxvYXRpbmctbGFiZWwgLmxhYmVsLXRleHQsXG4gICAgLmVycm9yLXNlYXJjaC1jb250ZW50IC5maWVsZC0tZm9jdXNlZCAuZmxvYXRpbmctbGFiZWwgLmxhYmVsLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5lcnJvci1zZWFyY2gtY29udGVudC1saW5rcyBhIHtcbiAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBGZWF0dXJlIEltYWdlXG5wYXJ0aWFsOiBzZy1mZWF0dXJlLWltYWdlXG5zZWxlY3RvcjogLmZlYXR1cmUtaW1hZ2VcbiovXG4uZmVhdHVyZS1pbWFnZSAuaW1hZ2UtZmlsbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMjYuNTYyNXJlbTtcbiAgdHJhbnNpdGlvbjogbWluLWhlaWdodCAuNHMgZWFzZTsgfVxuXG4uZmVhdHVyZS1pbWFnZSAuaW1hZ2UtZmlsbF9fYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiAyNi41NjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmVhdHVyZS1pbWFnZSAuaW1hZ2UtZmlsbF9fYmFja2dyb3VuZCB7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTsgfSB9XG5cbi5mZWF0dXJlLWltYWdlIC5mbGV4LS1jb2x1bW4ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZmVhdHVyZS1pbWFnZSAuZmxleC0tY29sdW1uIC5idXR0b24ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZmVhdHVyZS1zZWN0aW9uIC5mZWF0dXJlLWltYWdlIC5mbGV4LS1jb2x1bW4gLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMzAwcHg7IH1cblxuLyogWUFQTFxubmFtZTogRmVhdHVyZWQgU2VjdGlvblxucGFydGlhbDogZmVhdHVyZS1zZWN0aW9uXG5jb250ZXh0OiBmZWF0dXJlLXNlY3Rpb24ucHJpbWFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLmZlYXR1cmUtc2VjdGlvblxuKi9cbi5mZWF0dXJlLXNlY3Rpb25fX3NlY29uZGFyeSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5mZWF0dXJlLXNlY3Rpb25fX3NlY29uZGFyeSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gICAgICAuZmVhdHVyZS1zZWN0aW9uX19zZWNvbmRhcnk6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlLXNlY3Rpb25fX3NlY29uZGFyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuICAgICAgLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5Om50aC1jaGlsZCgzbikge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5IGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZmVhdHVyZS1zZWN0aW9uX19zZWNvbmRhcnkgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDsgfSB9XG4gIC5mZWF0dXJlLXNlY3Rpb25fX3NlY29uZGFyeSAuZmxleC0tY29sdW1uIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5IC5mbGV4LS1jb2x1bW4gLmJ1dHRvbiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogWUFQTFxubmFtZTogRmVhdHVyZWQgVGlsZXMgLSBIb21lcGFnZVxucGFydGlhbDogZmVhdHVyZS10aWxlc1xuY29udGV4dDogZmVhdHVyZS10aWxlcy5ob21lXG5zZWxlY3RvcjogLmZlYXR1cmUtdGlsZXNcbiovXG4uZmVhdHVyZS10aWxlcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmVhdHVyZS10aWxlcyB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cblxuLmZlYXR1cmUtdGlsZSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZlYXR1cmUtdGlsZSAuZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5mZWF0dXJlLXRpbGUgLmZvcm0tZXJyb3Ige1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5mZWF0dXJlLXRpbGUgLmZlYXR1cmUtdGlsZV9fdGV4dCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mZWF0dXJlLXRpbGU6aG92ZXIgLmZlYXR1cmUtdGlsZV9faWNvbiwgLmZlYXR1cmUtdGlsZTpmb2N1cyAuZmVhdHVyZS10aWxlX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1tYWdlbnRhIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NDEyNmE7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW1hZ2VudGE6aG92ZXIgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MGY1ZDsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tbWFnZW50YTpob3ZlciAuZmVhdHVyZS10aWxlX19zdmcgbGluZSwgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW1hZ2VudGE6Zm9jdXMgLmZlYXR1cmUtdGlsZV9fc3ZnIGxpbmUge1xuICAgIHN0cm9rZTogIzc3MGY1ZDsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tbWFnZW50YTpob3ZlciAuZmVhdHVyZS10aWxlX19zdmcgcGF0aCwgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW1hZ2VudGE6Zm9jdXMgLmZlYXR1cmUtdGlsZV9fc3ZnIHBhdGgge1xuICAgIGZpbGw6ICM3NzBmNWQ7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW1hZ2VudGEgLmZlYXR1cmUtdGlsZV9faW5uZXIsXG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1tYWdlbnRhIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzBmNWQ7IH1cbiAgW2RhdGEtaW4tdmlld10gLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW1hZ2VudGEge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtMTAwJSk7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW9yYW5nZSAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjg5ODFkOyB9XG4gIFtkYXRhLWluLXZpZXddIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1vcmFuZ2Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tb3JhbmdlIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMjNjMzM7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW9yYW5nZTpob3ZlciAuZmVhdHVyZS10aWxlX19zdmcgbGluZSxcbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW9yYW5nZTpob3ZlciAuZmVhdHVyZS10aWxlX19zdmcgcGF0aCwgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW9yYW5nZTpmb2N1cyAuZmVhdHVyZS10aWxlX19zdmcgbGluZSxcbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLW9yYW5nZTpmb2N1cyAuZmVhdHVyZS10aWxlX19zdmcgcGF0aCB7XG4gICAgZmlsbDogI2Q5NTQxZTsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1kYXJrIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyODg7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLWJsdWUtZGFyazpob3ZlciAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NzdhOyB9XG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWRhcms6aG92ZXIgLmZlYXR1cmUtdGlsZV9fc3ZnIGxpbmUsIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWRhcms6Zm9jdXMgLmZlYXR1cmUtdGlsZV9fc3ZnIGxpbmUge1xuICAgIHN0cm9rZTogIzAwNDc3YTsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1kYXJrOmhvdmVyIC5mZWF0dXJlLXRpbGVfX3N2ZyBwYXRoLCAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1kYXJrOmZvY3VzIC5mZWF0dXJlLXRpbGVfX3N2ZyBwYXRoIHtcbiAgICBmaWxsOiAjMDA0NzdhOyB9XG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWRhcmsgLmZlYXR1cmUtdGlsZV9faW5uZXIsXG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWRhcmsgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDc3YTsgfVxuICBbZGF0YS1pbi12aWV3XSAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1kYXJrIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMTAwJSk7IH1cbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLWJsdWUtbGlnaHQgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1saWdodDpob3ZlciAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU5M2M3OyB9XG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWxpZ2h0OmhvdmVyIC5mZWF0dXJlLXRpbGVfX3N2ZyBsaW5lLCAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1saWdodDpmb2N1cyAuZmVhdHVyZS10aWxlX19zdmcgbGluZSB7XG4gICAgc3Ryb2tlOiAjMjU5M2M3OyB9XG4gIC5mZWF0dXJlLXRpbGUuZmVhdHVyZS10aWxlLS1ibHVlLWxpZ2h0OmhvdmVyIC5mZWF0dXJlLXRpbGVfX3N2ZyBwYXRoLCAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1saWdodDpmb2N1cyAuZmVhdHVyZS10aWxlX19zdmcgcGF0aCB7XG4gICAgZmlsbDogIzI1OTNjNzsgfVxuICAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1saWdodCAuZmVhdHVyZS10aWxlX19pbm5lcixcbiAgLmZlYXR1cmUtdGlsZS5mZWF0dXJlLXRpbGUtLWJsdWUtbGlnaHQgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1OTNjNzsgfVxuICBbZGF0YS1pbi12aWV3XSAuZmVhdHVyZS10aWxlLmZlYXR1cmUtdGlsZS0tYmx1ZS1saWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMTAwJSk7IH1cbiAgW2RhdGEtaW4tdmlld10gLmZlYXR1cmUtdGlsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zM3MsIGJhY2tncm91bmQtY29sb3IgLjI1cywgdHJhbnNmb3JtIDFzOyB9XG4gIC5pcy1pbi12aWV3IC5mZWF0dXJlLXRpbGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZlYXR1cmUtdGlsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAuZmVhdHVyZS10aWxlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5mZWF0dXJlLXRpbGUtLWxpbmsge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZmVhdHVyZS10aWxlLS1saW5rOmhvdmVyLCAuZmVhdHVyZS10aWxlLS1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5IHAge1xuICAgICAgICBwYWRkaW5nOiAwIDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5mZWF0dXJlLXRpbGUtLWhvdmVyIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZlYXR1cmUtdGlsZS0taG92ZXIgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDNyZW07IH0gfVxuICAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5IC5saW5rLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbiAgICB3aWR0aDogMjAlOyB9XG5cbjpub3QoLmlzLWllKSAuZmVhdHVyZS10aWxlLS1ob3ZlciB7XG4gIHBlcnNwZWN0aXZlOiAxMDAwO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG4gIDpub3QoLmlzLWllKSAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cbiAgOm5vdCguaXMtaWUpIC5mZWF0dXJlLXRpbGUtLWhvdmVyIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQsXG4gIDpub3QoLmlzLWllKSAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIHRyYW5zaXRpb246IC43cyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIDpub3QoLmlzLWllKSAuZmVhdHVyZS10aWxlLS1ob3ZlciAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gICAgei1pbmRleDogMzsgfVxuICA6bm90KC5pcy1pZSkgLmZlYXR1cmUtdGlsZS0taG92ZXIgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgOm5vdCguaXMtaWUpIC5mZWF0dXJlLXRpbGUtLWhvdmVyOmhvdmVyIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQsIDpub3QoLmlzLWllKSAuZmVhdHVyZS10aWxlLS1ob3Zlcjpmb2N1cyAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICA6bm90KC5pcy1pZSkgLmZlYXR1cmUtdGlsZS0taG92ZXI6aG92ZXIgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSwgOm5vdCguaXMtaWUpIC5mZWF0dXJlLXRpbGUtLWhvdmVyOmZvY3VzIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTsgfVxuXG4uaXMtaWUgLmZlYXR1cmUtdGlsZS0taG92ZXIgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIHRyYW5zaXRpb246IC43cyBlYXNlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5pcy1pZSAuZmVhdHVyZS10aWxlLS1ob3Zlcjpob3ZlciAuZmVhdHVyZS10aWxlX19vdmVybGF5LCAuaXMtaWUgLmZlYXR1cmUtdGlsZS0taG92ZXI6Zm9jdXMgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5mZWF0dXJlLXRpbGUtLWZseW91dCAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZlYXR1cmUtdGlsZS0tZmx5b3V0IC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIHdpZHRoOiAyMDAlOyB9IH1cblxuLmZlYXR1cmUtdGlsZS0tZmx5b3V0IC5mZWF0dXJlLXRpbGVfX292ZXJsYXksXG4uZmVhdHVyZS10aWxlLS1mbHlvdXQgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuN3MgZWFzZTtcbiAgei1pbmRleDogMzsgfVxuXG4uZmVhdHVyZS10aWxlLS1mbHlvdXQgLmZlYXR1cmUtdGlsZV9fY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKGV2ZW4pIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZChldmVuKSAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoZXZlbikgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfSB9XG5cbi5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQob2RkKSAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKG9kZCkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uaXMtZXhwYW5kZWQtMSAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDEpIHtcbiAgei1pbmRleDogNDsgfVxuICAuaXMtZXhwYW5kZWQtMSAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDEpIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC0xIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMSkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaXMtZXhwYW5kZWQtMSAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDEpIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cbiAgLmlzLWV4cGFuZGVkLTEgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZCgxKSAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaXMtZXhwYW5kZWQtMSAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDEpIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlzLWV4cGFuZGVkLTEgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZCgxKSArIC5mZWF0dXJlLXRpbGUgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSk7IH0gfVxuXG4uaXMtZXhwYW5kZWQtMyAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpIHtcbiAgei1pbmRleDogNDsgfVxuICAuaXMtZXhwYW5kZWQtMyAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC0zIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMykgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaXMtZXhwYW5kZWQtMyAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuICAuaXMtZXhwYW5kZWQtMyAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC0zIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMykgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaXMtZXhwYW5kZWQtMyAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpICsgLmZlYXR1cmUtdGlsZSAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTsgfSB9XG5cbi5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkge1xuICB6LWluZGV4OiA0OyB9XG4gIC5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmlzLWV4cGFuZGVkLTIgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZCg0KSAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pcy1leHBhbmRlZC0yIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMSkgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTsgfSB9XG5cbi5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkge1xuICB6LWluZGV4OiA0OyB9XG4gIC5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmlzLWV4cGFuZGVkLTQgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZCg0KSAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pcy1leHBhbmRlZC00IC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMykgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTsgfSB9XG5cbi5mZWF0dXJlLXRpbGVfX2lubmVyIHtcbiAgaGVpZ2h0OiAyMi41cmVtOyB9XG5cbi5mZWF0dXJlLXRpbGVfX2NvbnRlbnQsXG4uZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgcGFkZGluZzogMS44NzVyZW07IH1cblxuLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2U7IH1cblxuLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZmVhdHVyZS10aWxlX19pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHdpZHRoOiA2LjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmVhdHVyZS10aWxlX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmZlYXR1cmUtdGlsZS0tYmx1ZS1kYXJrIC5mZWF0dXJlLXRpbGVfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgd2lkdGg6IDcuNXJlbTsgfVxuXG4uZmVhdHVyZS10aWxlX19pY29uIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGhlaWdodDogMi44NzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzO1xuICB3aWR0aDogMi44NzVyZW07IH1cblxuLmZlYXR1cmUtdGlsZV9fc3ZnIGxpbmUge1xuICBzdHJva2U6ICNmZWZlZmU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLXdpZHRoOiAwLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlIC4yczsgfVxuXG4uZmVhdHVyZS10aWxlX19zdmcgcGF0aCB7XG4gIGZpbGw6ICNmZWZlZmU7XG4gIHN0cm9rZTogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGZpbGwgLjJzOyB9XG5cbi5mZWF0dXJlLXRpbGVfX2Nsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjM3NXJlbTtcbiAgdG9wOiAwLjE4NzVyZW07XG4gIHdpZHRoOiAxcmVtOyB9XG4gIC5mZWF0dXJlLXRpbGVfX2Nsb3NlIC5pY29uIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mZWF0dXJlLXRpbGVfX2Nsb3NlIHtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgdG9wOiAxcmVtOyB9IH1cblxuLyogWUFQTFxubmFtZTogRmVhdHVyZWQgVmlkZW9cbnBhcnRpYWw6IHNnLWZlYXR1cmUtdmlkZW9cbnNlbGVjdG9yOiAuZmVhdHVyZS12aWRlb1xuKi9cbi5mZWF0dXJlLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZlYXR1cmUtdmlkZW8gaDIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mZWF0dXJlLXZpZGVvIC5wbGF5ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZlYXR1cmUtdmlkZW8gLnBsYXllciAucGx5cjpub3QoLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlKSBpZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxOC43NXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmZlYXR1cmUtdmlkZW8gLnBsYXllciAucGx5cjpub3QoLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlKSBpZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMzIuNjg3NXJlbTsgfSB9XG4gICAgLmZlYXR1cmUtdmlkZW8gLnBsYXllciAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgaWZyYW1lIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBGZWF0dXJlZCBMaXN0IEl0ZW1zXG5wYXJ0aWFsOiBzZy1mZWF0dXJlZC1saXN0LWl0ZW1zXG5jb250ZXh0OiBmZWF0dXJlZC1saXN0LWl0ZW1zLmZpbHRlcmFibGUtbGlzdFxuc2VsZWN0b3I6IC5mZWF0dXJlZC1saXN0LWl0ZW1zXG4qL1xuLmZlYXR1cmVkLWxpc3QtaXRlbXMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mZWF0dXJlZC1saXN0LWl0ZW1zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5mZWF0dXJlZC1saXN0LWl0ZW1zIGE6bm90KGJ1dHRvbikubGluay0tb3JhbmdlIHtcbiAgICBjb2xvcjogI2Q5NTQxZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mZWF0dXJlZC1saXN0LWl0ZW1zIGE6bm90KGJ1dHRvbikubGluay0tb3JhbmdlOmhvdmVyLCAuZmVhdHVyZWQtbGlzdC1pdGVtcyBhOm5vdChidXR0b24pLmxpbmstLW9yYW5nZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2MyM2MzMzsgfVxuXG4uZmVhdHVyZWQtbGlzdF9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWxpc3RfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMzBweCAyNXB4OyB9XG4gICAgICAuZmVhdHVyZWQtbGlzdF9faXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZlYXR1cmVkLWxpc3RfX2l0ZW0ge1xuICAgICAgZmxleDogMCAwIDQ2JTsgfVxuICAgICAgLmlzLWllIC5mZWF0dXJlZC1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDM2JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmlzLWllIC5mZWF0dXJlZC1saXN0X19pdGVtIHtcbiAgICAgIGZsZXg6IDAgMCAzOSU7IH0gfVxuICAuZmVhdHVyZWQtbGlzdF9faXRlbSBpbWcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogLjZzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIC5mZWF0dXJlZC1saXN0X19pdGVtOmhvdmVyIGltZywgLmZlYXR1cmVkLWxpc3RfX2l0ZW06Zm9jdXMgaW1nIHtcbiAgICBvcGFjaXR5OiAuODU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuXG4uZmVhdHVyZWQtbGlzdF9faXRlbS1pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mZWF0dXJlZC1saXN0X19pdGVtLXRhZyB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGhlaWdodDogNDBweDtcbiAgbGVmdDogLTEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiA4cHggMTVweCA4cHggMTNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMHB4OyB9XG4gIC5mZWF0dXJlZC1saXN0X19pdGVtLXRhZyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAuZmVhdHVyZWQtbGlzdF9faXRlbS10YWc6OmJlZm9yZSwgLmZlYXR1cmVkLWxpc3RfX2l0ZW0tdGFnOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mZWF0dXJlZC1saXN0X19pdGVtLXRhZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdGFnLWNvcm5lci5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxM3B4OyB9XG4gIC5mZWF0dXJlZC1saXN0X19pdGVtLXRhZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5OTkpO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2Q5NTQxZTtcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZlYXR1cmVkLWxpc3RfX2l0ZW0tdGFnIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTVweCAxNHB4IDE4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICB0b3A6IC0zMHB4OyB9XG4gICAgICAuZmVhdHVyZWQtbGlzdF9faXRlbS10YWcgaDMge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAgIC5mZWF0dXJlZC1saXN0X19pdGVtLXRhZzo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxNXB4IHNvbGlkICNkOTU0MWU7XG4gICAgICAgIGJvcmRlci10b3A6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBGZWF0dXJlZCBQYWdlc1xucGFydGlhbDogZmVhdHVyZWQtcGFnZXNcbmNvbnRleHQ6IGZlYXR1cmVkLXBhZ2VzLnNlY29uZGFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLmZlYXR1cmVkLXBhZ2VzXG4qL1xuLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpO1xuICB0cmFuc2l0aW9uOiAuOHMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG4gIC5mZWF0dXJlZC1wYWdlc19fcGFnZS1jb250YWluZXIgLmJ1dHRvbi5pcy1pbi12aWV3IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMzUwcHg7XG4gIHBhZGRpbmc6IDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSAzLjQzNzVyZW0gMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMS41NjI1cmVtIDEuNTYyNXJlbTsgfVxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAyLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDIuNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5mZWF0dXJlZC1wYWdlc19fdGV4dC1jb250YWluZXIuYmFja2dyb3VuZC0tb3JhbmdlLWRhcms6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuMjVyZW0gc29saWQgI2Q5NTQxZTsgfVxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lci5iYWNrZ3JvdW5kLS1tYWdlbnRhLWRhcms6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuMjVyZW0gc29saWQgIzg0MTI2YTsgfVxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lci5iYWNrZ3JvdW5kLS1ncmVlbi1taWQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuMjVyZW0gc29saWQgIzAwNzA0YTsgfVxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lci5iYWNrZ3JvdW5kLS1yZWQtYnJpY2s6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuMjVyZW0gc29saWQgI2MyM2MzMzsgfVxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lci5iYWNrZ3JvdW5kLS1ibHVlLWRhcms6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuMjVyZW0gc29saWQgIzAwNTI4ODsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDMuNDM3NXJlbSAyLjVyZW07IH0gfVxuICAuZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZmVhdHVyZWQtcGFnZXNfX3BhZ2UtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWluLWhlaWdodDogMzUwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWNvbnRhaW5lcjpudGgtY2hpbGQob2RkKSAuZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5mZWF0dXJlZC1wYWdlc19fcGFnZS1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkgLmZlYXR1cmVkLXBhZ2VzX190ZXh0LWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWNvbnRhaW5lcjpudGgtY2hpbGQob2RkKSAuZmVhdHVyZWQtcGFnZXNfX3BhZ2UtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgfVxuICAuZmVhdHVyZWQtcGFnZXNfX3BhZ2UtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIC5idXR0b24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMCUpOyB9XG4gICAgLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWNvbnRhaW5lcjpudGgtY2hpbGQob2RkKSAuYnV0dG9uLmlzLWluLXZpZXcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLyogWUFQTFxubmFtZTogRmVhdHVyZWQgUXVvdGVcbnBhcnRpYWw6IGZlYXR1cmVkLXF1b3RlXG5jb250ZXh0OiBmZWF0dXJlZC1xdW90ZXMuc2Vjb25kYXJ5LWxhbmRpbmdcbnNlbGVjdG9yOiAuZmVhdHVyZWQtcXVvdGVcbiovXG4uZmVhdHVyZWQtcXVvdGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cbiAgLmZlYXR1cmVkLXF1b3RlLmlzLWluLXZpZXcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIC5mZWF0dXJlZC1xdW90ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA0LjM3NXJlbTsgfVxuICAuZmVhdHVyZWQtcXVvdGUuZmVhdHVyZWQtcXVvdGUtLW1hZ2VudGEtZGFyazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODQxMjZhOyB9XG5cbi5mZWF0dXJlZC1xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmVhdHVyZWQtcXVvdGVfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLXF1b3RlX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi8qIFlBUExcclxubmFtZTogRmlsdGVyc1xyXG5wYXJ0aWFsOiBzZy1maWx0ZXJzXHJcbnNlbGVjdG9yOiAuZmlsdGVyc1xyXG4qL1xuLmZpbHRlcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZpbHRlcnNfX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCAzNywgMzcsIDAuNyk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbHRlcnNfX292ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG5cbi5maWx0ZXJzLXRvcC1jb250cm9scyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmlsdGVycy10b3AtY29udHJvbHMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG4uZmlsdGVycy1zdGF0dXMtY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5maWx0ZXJzX19tb2JpbGUtb3BlbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNWEwODk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgaGVpZ2h0OiAzNXB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5maWx0ZXJzX19tb2JpbGUtb3Blbjpob3ZlciwgLmZpbHRlcnNfX21vYmlsZS1vcGVuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA3YzZhOyB9XG5cbi5maWx0ZXJzX19zb3J0LWJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbHRlcnNfX3NvcnQtYnkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgyMSwgMTYwLCAxMzclMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgKyAxMHB4KSBjZW50ZXI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTVhMDg5O1xuICAgICAgY29sb3I6ICMxNWEwODk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDsgfVxuICAgICAgLmZpbHRlcnNfX3NvcnQtYnk6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTVhMDg5OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmlsdGVyc19fc29ydC1ieSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLmZpbHRlcnMtLXNlYXJjaC1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xMDAlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodCwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS4yNXJlbSk7XG4gICAgei1pbmRleDogNzsgfVxuICAgIC5maWx0ZXJzLS1zZWFyY2gtcGFnZSAuZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lciB7XG4gICAgICB0b3A6IDMzcHg7IH1cbiAgICAuZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lci5pcy1zaG93aW5nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZpbHRlcnNfX2dyb3Vwcy1jb250YWluZXIgLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAuM3MgZWFzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5maWx0ZXJzX19ncm91cHMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWx0ZXJzX19ncm91cHMtY29udGFpbmVyLnJvdyB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uZmlsdGVyc19fZmlsdGVyLWdyb3VwcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbHRlcnNfX2ZpbHRlci1ncm91cHMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMmQyZDI7XG4gICAgICBmbGV4OiAwIDAgODAlO1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZpbHRlcnNfX2ZpbHRlci1ncm91cHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7IH1cbiAgICAgIC5maWx0ZXJzX19maWx0ZXItZ3JvdXBzID4gLm1DdXN0b21TY3JvbGxCb3gge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgICAuZmlsdGVyc19fZmlsdGVyLWdyb3VwcyA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0JfY29udGFpbmVyIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5maWx0ZXJzX19ncm91cCB+IC5maWx0ZXJzX19ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG5cbi5maWx0ZXJzX19jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE0cHg7XG4gIGxlZnQ6IGNhbGMoMTAlIC0gN3B4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHdpZHRoOiAxNHB4OyB9XG4gIC5maWx0ZXJzX19jbG9zZSAuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZpbHRlcnNfX2dyb3VwIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QyZDJkMjsgfVxuICAgIC5maWx0ZXJzX19ncm91cDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAuZmlsdGVyc19fZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIC4zcyBlYXNlOyB9XG4gICAgICAuZmlsdGVyc19fZ3JvdXA6bGFzdC1vZi10eXBlLmlzLW9wZW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmlsdGVyc19fZ3JvdXAuaXMtb3BlbiAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxmMDY4JzsgfVxuICAgIC5maWx0ZXJzX19ncm91cCAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyLS1pbm5lciB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMyNTI1MjU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuZmlsdGVyc19fZ3JvdXAgLmZpbHRlcnNfX2dyb3VwLWhlYWRlci0taW5uZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2Nyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMnB4OyB9IH1cblxuLmZpbHRlcnNfX2dyb3VwLWhlYWRlciwgLmZpbHRlcnNfX2dyb3VwLWhlYWRlci1jaGVja2JveCB7XG4gIHBhZGRpbmc6IDE0cHggMTRweCAxNHB4IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNWEwODk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5maWx0ZXJzX19ncm91cC1oZWFkZXI6Zm9jdXMsIC5maWx0ZXJzX19ncm91cC1oZWFkZXItY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmhhc19jaGVja2JveCB7XG4gIHBhZGRpbmc6IDBweDsgfVxuXG4uZmlsdGVyc19fZ3JvdXAtaGVhZGVyLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi5maWx0ZXJzX19ncm91cC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAuNXMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5maWx0ZXJzX19ncm91cC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyNHB4IDA7IH0gfVxuICAuZmlsdGVycy0tc2VhcmNoLXBhZ2UgLmZpbHRlcnNfX2dyb3VwLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZmlsdGVyc19fZ3JvdXAtY29udGFpbmVyIC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5maWx0ZXJzX19ncm91cC1pdGVtcyB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgcGFkZGluZzogMCAxNHB4IDAgMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmlsdGVyc19fZ3JvdXAtaXRlbXMge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTRweCAwIDMwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZSwgLjdzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nOyB9XG4gICAgICAuaXMtb3BlbiAuZmlsdGVyc19fZ3JvdXAtaXRlbXMge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAxNHB4IDMwcHg7IH0gfVxuXG4uZmlsdGVyc19fZ3JvdXAtaXRlbTpmaXJzdC1vZi10eXBlIC5maWx0ZXJzX19pdGVtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLmZpbHRlcnNfX2dyb3VwLWl0ZW06bGFzdC1vZi10eXBlIC5maWx0ZXJzX19pdGVtLWxhYmVsIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmZpbHRlcnNfX2l0ZW0tbGFiZWwge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cbiAgLmZpbHRlcnNfX2l0ZW0tbGFiZWw6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTVhMDg5O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZmlsdGVyc19faXRlbS1sYWJlbDpmb2N1cyAuZmlsdGVyc19faXRlbS1jaGVja2JveC1pbWcge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTVhMDg5OyB9XG5cbi5maWx0ZXJzX19pdGVtLWNoZWNrYm94IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMjVweDsgfVxuICAuZmlsdGVyc19faXRlbS1jaGVja2JveDpjaGVja2VkICsgLmZpbHRlcnNfX2l0ZW0tY2hlY2tib3gtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTVhMDg5O1xuICAgIGJvcmRlci1jb2xvcjogI2QyZDJkMjsgfVxuXG4uZmlsdGVyc19faXRlbS1jaGVja2JveC1pbWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDJkMmQyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXIsIGJhY2tncm91bmQtY29sb3I7XG4gIHdpZHRoOiAyNXB4OyB9XG5cbi5jaGVja2JveC1zdW1tZXIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7IH1cblxuLmZpbHRlcnNfX2l0ZW0tbGFiZWwge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTsgfVxuXG4uZmlsdGVyc19faXRlbS1sYWJlbDpmb2N1cyB7XG4gIGNvbG9yOiAjMTVhMDg5O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5maWx0ZXJzX19pdGVtLWxhYmVsOmZvY3VzIC5maWx0ZXJzX19pdGVtLWNoZWNrYm94LWltZyB7XG4gIGJvcmRlci1jb2xvcjogIzE1YTA4OTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBGb290ZXJcbnBhcnRpYWw6IGZvb3Rlclxuc2VsZWN0b3I6IC5mb290ZXJcbiovXG4uZm9vdGVyLXV0aWxpdHktbGlua3MgLmRpdmlkZXIge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luOiAwIC40cmVtIDAgLjZyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5mb290ZXItdXRpbGl0eS1saW5rcyAuZGl2aWRlcjpsYXN0LW9mLXR5cGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvb3Rlci11dGlsaXR5LWxpbmtzIC5saW5rOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLjNyZW07IH0gfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMzcsIDM3LCAzNywgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMyNTI1MjU7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzI1MjUyNTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICM4ZjhmOGY7XG4gIGNvbG9yOiAjMjUyNTI1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVxdWlyZWQtYXN0ZXJpc2sge1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtO1xuICB0b3A6IC0uMWVtOyB9XG5cbi5mb3JtIHtcbiAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVydy1jb25kXCIsIFwiSGVsdmV0aWNhIE5ldWUgQ29uZGVuc2VkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAuZm9ybSAuYWxlcnQge1xuICAgIGNvbG9yOiAjY2M0YjM3O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAuZm9ybSAuZmllbGQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMyNTI1MjU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC4yNXM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mb3JtIC5maWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtOyB9IH1cbiAgICAuZm9ybSAuZmllbGQuZmllbGQtLW5vdC1lbXB0eS5maWVsZC0tdGV4dCAuZmxvYXRpbmctbGFiZWwsIC5mb3JtIC5maWVsZC5maWVsZC0tbm90LWVtcHR5LmZpZWxkLS10ZXh0YXJlYSAuZmxvYXRpbmctbGFiZWwsIC5mb3JtIC5maWVsZC5maWVsZC0tZm9jdXNlZC5maWVsZC0tdGV4dCAuZmxvYXRpbmctbGFiZWwsIC5mb3JtIC5maWVsZC5maWVsZC0tZm9jdXNlZC5maWVsZC0tdGV4dGFyZWEgLmZsb2F0aW5nLWxhYmVsLCAuZm9ybSAuZmllbGQuaXMtZmlsbGVkLWxhYmVsLmZpZWxkLS10ZXh0IC5mbG9hdGluZy1sYWJlbCwgLmZvcm0gLmZpZWxkLmlzLWZpbGxlZC1sYWJlbC5maWVsZC0tdGV4dGFyZWEgLmZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICB0b3A6IC0wLjYyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgICAgLmZvcm0gLmZpZWxkLmZpZWxkLS1ub3QtZW1wdHkuZmllbGQtLXRleHQgLmZsb2F0aW5nLWxhYmVsIC5yZXF1aXJlZC1hc3RlcmlzaywgLmZvcm0gLmZpZWxkLmZpZWxkLS1ub3QtZW1wdHkuZmllbGQtLXRleHRhcmVhIC5mbG9hdGluZy1sYWJlbCAucmVxdWlyZWQtYXN0ZXJpc2ssIC5mb3JtIC5maWVsZC5maWVsZC0tZm9jdXNlZC5maWVsZC0tdGV4dCAuZmxvYXRpbmctbGFiZWwgLnJlcXVpcmVkLWFzdGVyaXNrLCAuZm9ybSAuZmllbGQuZmllbGQtLWZvY3VzZWQuZmllbGQtLXRleHRhcmVhIC5mbG9hdGluZy1sYWJlbCAucmVxdWlyZWQtYXN0ZXJpc2ssIC5mb3JtIC5maWVsZC5pcy1maWxsZWQtbGFiZWwuZmllbGQtLXRleHQgLmZsb2F0aW5nLWxhYmVsIC5yZXF1aXJlZC1hc3RlcmlzaywgLmZvcm0gLmZpZWxkLmlzLWZpbGxlZC1sYWJlbC5maWVsZC0tdGV4dGFyZWEgLmZsb2F0aW5nLWxhYmVsIC5yZXF1aXJlZC1hc3RlcmlzayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICB0b3A6IDA7IH1cbiAgLmZvcm0gLnNlbGVjdC13cmFwX19pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9ybSAuc2VsZWN0LXdyYXBfX2ljb24gLnNlbGVjdF9fYXJyb3cge1xuICAgICAgaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICB6LWluZGV4OiAyOyB9XG4gIC5mb3JtIHNlbGVjdCxcbiAgLmZvcm0gaW5wdXQsXG4gIC5mb3JtIHRleHRhcmVhIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvcm0gc2VsZWN0OmhvdmVyLCAuZm9ybSBzZWxlY3Q6Zm9jdXMsIC5mb3JtIHNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICAuZm9ybSBpbnB1dDpob3ZlcixcbiAgICAuZm9ybSBpbnB1dDpmb2N1cyxcbiAgICAuZm9ybSBpbnB1dDpub3QoOmZvY3VzKSxcbiAgICAuZm9ybSB0ZXh0YXJlYTpob3ZlcixcbiAgICAuZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbiAgICAuZm9ybSB0ZXh0YXJlYTpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5mb3JtIGlucHV0W3R5cGU9J3RleHQnXSwgLmZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSwgLmZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ10sIC5mb3JtIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNXJlbSAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gICAgLmZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5mb3JtIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmZvcm0gaW5wdXRbdHlwZT0ncmFkaW8nXSwgLmZvcm0gaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMzcsIDM3LCAzNywgMC4yKSwgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjIpKTtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjYjNiM2IzO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEuMjVyZW07IH1cbiAgICAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddICsgbGFiZWwsIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgLjVyZW07IH1cbiAgICAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddLmlzLWludmFsaWQtaW5wdXQsIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J10uaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBib3JkZXItY29sb3I6ICNjYzRiMzc7IH1cbiAgICAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddOmhvdmVyLCAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQsIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J106aG92ZXIsIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQsIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgzNywgMzcsIDM3LCAwLjIpLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMikpOyB9XG4gICAgICAuZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6OmFmdGVyLCAuZm9ybSBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwLjM3NXJlbTsgfVxuICAuZm9ybSBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtOyB9XG4gICAgLmZvcm0gaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLjJlbTsgfVxuICAgIC5mb3JtIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICB3aWR0aDogMC41cmVtOyB9XG4gIC5mb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cndcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gICAgd2lkdGg6IDEyLjVyZW07IH1cbiAgLmZvcm0gaW5wdXQuaW5wdXQtLW5vLWJvcmRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICNmZWZlZmU7IH1cbiAgLmZvcm0gdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogLjc1ZW07XG4gICAgcmVzaXplOiBub25lOyB9XG4gIC5mb3JtIC5maWVsZC0tdHlwZWFoZWFkLFxuICAuZm9ybSAuc2VsZWN0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtIC5maWVsZC0tdHlwZWFoZWFkID4gLmljb24sXG4gICAgLmZvcm0gLnNlbGVjdC13cmFwID4gLmljb24ge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjM3NXJlbTsgfVxuICAuZm9ybSAuc2VsZWN0LXdyYXAgPiAuaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cztcbiAgICB3aWxsLWNoYW5nZTogY29sb3I7IH1cbiAgLmZvcm0gLnNlbGVjdC13cmFwOmhvdmVyID4gLmljb24sIC5mb3JtIC5zZWxlY3Qtd3JhcDpmb2N1cyA+IC5pY29uIHtcbiAgICBjb2xvcjogIzExNWI4YzsgfVxuICAuZm9ybSAuZmxvYXRpbmctbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC41cmVtIDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiAuMTVzOyB9XG4gIC5mb3JtIC5mb3JtLWVycm9yIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4zNzVyZW0pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IC5mb3JtIC5mb3JtLWVycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAuZm9ybSAuZm9ybV9fZXJyb3JzLFxuICAuZm9ybSAuZm9ybS1lcnJvciB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmZvcm0gLmZvcm0tZXJyb3IsXG4gIC5mb3JtIC5mb3JtX19lcnJvcnMge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuZm9ybSAuZm9ybV9fZXJyb3JzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAuZm9ybSAuZm9ybV9fZXJyb3JzIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuZm9ybSAuaGVscC10ZXh0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtIC5oZWxwLXRleHQtd3JhcCAuaGVscC10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZm9ybSAuaGVscC10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDA7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZm9ybSAuaGVscC10ZXh0IHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgLmZvcm0gLmhlbHAtdGV4dCBwOm9ubHktY2hpbGQsIC5mb3JtIC5oZWxwLXRleHQgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvcm0gLmZpZWxkLS10ZXh0LFxuICAuZm9ybSAuY29sdW1uLmFsaWduLXNlbGYtYm90dG9tID4gLmZvcm1fX2J1dHRvbixcbiAgLmZvcm0gLmFsaWduLXNlbGYtYm90dG9tLmNvbHVtbnMgPiAuZm9ybV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgXG4gIC5mb3JtIC5jb2x1bW4uYWxpZ24tc2VsZi1ib3R0b20gPiAuZm9ybV9fYnV0dG9uLFxuICAuZm9ybSAuYWxpZ24tc2VsZi1ib3R0b20uY29sdW1ucyA+IC5mb3JtX19idXR0b24ge1xuICAgIGhlaWdodDogMzlweDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZlYXR1cmUtdGlsZSAuZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5mb3JtIC5pbnB1dC1ncm91cCA+ICoge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9ybSAuaW5wdXQtZ3JvdXAgPiAqIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICAgICAgIC5mb3JtIC5pbnB1dC1ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgICAuZm9ybSAuaW5wdXQtZ3JvdXAgPiAqLmZvcm1fX2J1dHRvbiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gICAgLmZvcm0gLmlucHV0LWdyb3VwIHNlbGVjdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZvcm0gLmlucHV0LWdyb3VwIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDsgfVxuICAgICAgICAuZm9ybSAuaW5wdXQtZ3JvdXAgLmZvcm1fX2J1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07IH0gfVxuXG4uZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ZlZmVmZTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZvcm0tLWJhY2tncm91bmQgLmZpZWxkLS10ZXh0IGlucHV0W3R5cGU9J3RleHQnXSwgLmZvcm0tLWJhY2tncm91bmQgLmZpZWxkLS10ZXh0IGlucHV0W3R5cGU9J2VtYWlsJ10sIC5mb3JtLS1iYWNrZ3JvdW5kIC5maWVsZC0tdGV4dCBpbnB1dFt0eXBlPSdudW1iZXInXSwgLmZvcm0tLWJhY2tncm91bmQgLmZpZWxkLS10ZXh0IGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW0gMDsgfVxuICAuZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQ6OmJlZm9yZSwgLmZvcm0tLWJhY2tncm91bmQgLmZpZWxkLS10ZXh0OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwLjEyNXJlbTsgfVxuICAuZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMDsgfVxuICAuZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQ6OmFmdGVyIHtcbiAgICByaWdodDogMDsgfVxuXG4uZm9ybS0tYmFja2dyb3VuZCAuZmxvYXRpbmctbGFiZWwge1xuICBib3R0b206IDYwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC41cmVtIDA7XG4gIHRvcDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cblxuLmZvcm1fX2Vycm9ycyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmUtdGlsZSAuZmllbGQtLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBHYXRlZCBDb250ZW50IExhbmRpbmcgLSBOb24tQXV0aGVudGljYXRlZFxucGFydGlhbDogZ2F0ZWQtbGFuZGluZ1xuY29udGV4dDogZ2F0ZWQtbGFuZGluZy5ub3QtYXV0aGVudGljYXRlZFxuKi9cbi8qIFlBUExcbm5hbWU6IEdhdGVkIENvbnRlbnQgTGFuZGluZyAtIE5vbi1NZW1iZXJcbnBhcnRpYWw6IGdhdGVkLWxhbmRpbmdcbmNvbnRleHQ6IGdhdGVkLWxhbmRpbmcubm90LW1lbWJlclxuKi9cbi8qIFlBUExcbm5hbWU6IEdhdGVkIENvbnRlbnQgTGFuZGluZyAtIE1lZGlhIE5vbi1BdXRoZW50aWNhdGVkXG5wYXJ0aWFsOiBnYXRlZC1sYW5kaW5nXG5jb250ZXh0OiBnYXRlZC1sYW5kaW5nLm1lZGlhLW5vdC1hdXRoZW50aWNhdGVkXG4qL1xuLyogWUFQTFxubmFtZTogR2F0ZWQgQ29udGVudCBMYW5kaW5nIC0gTWVkaWEgTm9uLUFwcHJvdmVkXG5wYXJ0aWFsOiBnYXRlZC1sYW5kaW5nXG5jb250ZXh0OiBnYXRlZC1sYW5kaW5nLm1lZGlhLW5vdC1hcHByb3ZlZFxuKi9cbi8qIFlBUExcbm5hbWU6IEdhdGVkIENvbnRlbnQgTGFuZGluZyAtIEFub255bW91c1xucGFydGlhbDogZ2F0ZWQtbGFuZGluZ1xuY29udGV4dDogZ2F0ZWQtbGFuZGluZy5hbm9ueW1vdXNcbiovXG4uZ2F0ZWQtbGFuZGluZyAuZ2F0ZWQtbGFuZGluZ19fbG9jayB7XG4gIGhlaWdodDogOS4zNzVyZW07XG4gIG1heC13aWR0aDogNC4wNjI1cmVtOyB9XG5cbi5nYXRlZC1sYW5kaW5nIC5nYXRlZC1sYW5kaW5nX19ibG9jayB7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjU2MjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdhdGVkLWxhbmRpbmcgLmdhdGVkLWxhbmRpbmdfX2Jsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSA0LjM3NXJlbTsgfSB9XG4gIC5nYXRlZC1sYW5kaW5nIC5nYXRlZC1sYW5kaW5nX19ibG9jayAuYnV0dG9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogODUlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5nYXRlZC1sYW5kaW5nIC5nYXRlZC1sYW5kaW5nX19ibG9jayAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDYwJTsgfSB9XG5cbi5nYXRlZC1sYW5kaW5nIC5nYXRlZC1sYW5kaW5nX19ibG9jay10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmdhdGVkLWxhbmRpbmcgLmdhdGVkLWxhbmRpbmdfX2xpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gIC5nYXRlZC1sYW5kaW5nIC5nYXRlZC1sYW5kaW5nX19saXN0IGxpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAuZ2F0ZWQtbGFuZGluZyAuZ2F0ZWQtbGFuZGluZ19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDAuNDM3NXJlbTtcbiAgICAgIHdpZHRoOiAwLjVyZW07IH1cblxuLyogWUFQTFxubmFtZTogSGVhZGVyXG5wYXJ0aWFsOiBzZy1oZWFkZXJcbnNlbGVjdG9yOiAuaGVhZGVyXG4qL1xuLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjU2MjVyZW0gMC4zMTI1cmVtIHJnYmEoMzcsIDM3LCAzNywgMC4xNSk7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDg7IH1cbiAgLmhlYWRlciAuaXMtZHJpbGxkb3duIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRlcl9fdG9wLFxuLmhlYWRlcl9fYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5oZWFkZXJfX3RvcCB7XG4gIHBhZGRpbmctYm90dG9tOiAuNXJlbTsgfVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgd2lkdGg7XG4gIHdpZHRoOiBhdXRvO1xuICB3aWxsLWNoYW5nZTogaGVpZ2h0LCB3aWR0aDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhlYWRlcl9fbG9nbyB7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAuaGVhZGVyX190b3Age1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjYjNiM2IzO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5oZWFkZXJfX2JvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyOm5vdCguY2FtcGFpZ24taGVhZGVyKS5pcy1zdGlja3kgLmhlYWRlcl9fbG9nbyB7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAuaGVhZGVyOm5vdCguY2FtcGFpZ24taGVhZGVyKS5pcy1zdGlja3kgLmhlYWRlci11dGlsaXRpZXNfX3dyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikuaXMtc3RpY2t5IC5oZWFkZXJfX2JvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikuaXMtc3RpY2t5IC5oZWFkZXItbmF2X193cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5oZWFkZXI6bm90KC5jYW1wYWlnbi1oZWFkZXIpLmlzLXN0aWNreSAuaGVhZGVyLXNlYXJjaF9fY2xvc2Uge1xuICAgIGhlaWdodDogNS4xMjVyZW07IH1cbiAgLmhlYWRlcl9fdG9wIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuaGVhZGVyX19ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmctYm90dG9tIC4zcztcbiAgICB3aWxsLWNoYW5nZTogcGFkZGluZy1ib3R0b207IH1cbiAgLmhlYWRlci1uYXZfX3dyYXAge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAuM3M7XG4gICAgd2lsbC1jaGFuZ2U6IG1hcmdpbi10b3A7IH0gfVxuXG4uaGVhZGVyLWZlYXR1cmUge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmhlYWRlci1mZWF0dXJlID4gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogODByZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAuaGVhZGVyLWZlYXR1cmU6OmJlZm9yZSwgLmhlYWRlci1mZWF0dXJlOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuaGVhZGVyLWZlYXR1cmU6OmJlZm9yZSB7XG4gICAgbGVmdDogMDsgfVxuICAuaGVhZGVyLWZlYXR1cmU6OmFmdGVyIHtcbiAgICByaWdodDogMDsgfVxuICAuaGVhZGVyLWZlYXR1cmUgLmxpbmstLW1vcmUgLmljb24uZmEge1xuICAgIGxlZnQ6IDAuMTg3NXJlbTtcbiAgICB0b3A6IC4xZW07IH1cbiAgLmhlYWRlci1mZWF0dXJlIC5saW5rLS1tb3JlOmhvdmVyIC5pY29uLmZhLCAuaGVhZGVyLWZlYXR1cmUgLmxpbmstLW1vcmU6Zm9jdXMgLmljb24uZmEge1xuICAgIGxlZnQ6IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyLWZlYXR1cmVfX2JhY2tncm91bmQtLTEge1xuICAgIGZsZXg6IDAgMCAyMiU7XG4gICAgbWF4LXdpZHRoOiAyMiU7IH0gfVxuXG4uaGVhZGVyLWZlYXR1cmUtLW9yYW5nZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5oZWFkZXItZmVhdHVyZS0tb3JhbmdlIC5oZWFkZXItZmVhdHVyZV9fdGl0bGUgLmxpbmsge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhlYWRlci1mZWF0dXJlLS1vcmFuZ2UgLmhlYWRlci1mZWF0dXJlX190aXRsZSAubGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI2MyM2MzMzsgfVxuICAuaGVhZGVyLWZlYXR1cmUtLW9yYW5nZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2Y5YWQ0YTsgfVxuICAuaGVhZGVyLWZlYXR1cmUtLW9yYW5nZSAuaGVhZGVyLWZlYXR1cmVfX2JhY2tncm91bmQtLTEsIC5oZWFkZXItZmVhdHVyZS0tb3JhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmODk4MWQ7IH1cbiAgLmhlYWRlci1mZWF0dXJlLS1vcmFuZ2UgLmhlYWRlci1mZWF0dXJlX19iYWNrZ3JvdW5kLS0yLCAuaGVhZGVyLWZlYXR1cmUtLW9yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkOTU0MWU7IH1cblxuLmhlYWRlci1mZWF0dXJlX19iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5oZWFkZXItZmVhdHVyZV9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuaGVhZGVyLWZlYXR1cmVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9IH1cblxuLmhlYWRlci1mZWF0dXJlX19tZW51IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuXG4uaGVhZGVyLWZlYXR1cmVfX2l0ZW0ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5oZWFkZXItZmVhdHVyZV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubG9nb3V0LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmxvZ291dC1kcm9wZG93bi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2Q5NTQxZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubG9nb3V0LWRyb3Bkb3duLWNvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxvZ291dC1kcm9wZG93bi1jb250ZW50OmhvdmVyIHtcbiAgY29sb3I6ICNmOWFkNGE7IH1cblxuLmxvZ291dC1kcm9wZG93bi1jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tOiAwLjc1cmVtIHNvbGlkICNkOTU0MWU7XG4gIGJvcmRlci1sZWZ0OiAxLjY4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMS42ODc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiA0NSU7XG4gIHRvcDogLTAuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC45OTkpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuOTk5KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuOTk5KTtcbiAgd2lkdGg6IDA7IH1cblxuLmxvZ291dC1kcm9wZG93bjpob3ZlciAubG9nb3V0LWRyb3Bkb3duLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhlYWRlci1uYXYge1xuICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDEuNXJlbSAwIHJnYmEoMzcsIDM3LCAzNywgMC4xNSk7IH1cbiAgLmhlYWRlci1uYXZfX3dyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaXMtaGVhZGVyLW5hdi1vcGVuIC5oZWFkZXItbmF2X193cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhlYWRlci1uYXZfX21lbnUsXG4gIC5oZWFkZXItbmF2X19zdWJtZW51IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAuaGVhZGVyLW5hdl9fbWVudSxcbiAgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXJlbSAycmVtIC0wLjVyZW0gcmdiYSgzNywgMzcsIDM3LCAwLjEpOyB9XG4gIC5oZWFkZXItbmF2X19pdGVtLFxuICAuaGVhZGVyLW5hdl9fc3ViaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAuaGVhZGVyLW5hdl9faXRlbTpmaXJzdC1jaGlsZCxcbiAgICAuaGVhZGVyLW5hdl9fc3ViaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLmhlYWRlci1uYXZfX2l0ZW06aG92ZXIgPiAuaGVhZGVyLW5hdl9fbGluaywgLmhlYWRlci1uYXZfX2l0ZW0uaXMtY3VycmVudCA+IC5oZWFkZXItbmF2X19saW5rIHtcbiAgICAgIGNvbG9yOiAjZDk1NDFlOyB9XG4gICAgLmhlYWRlci1uYXZfX2l0ZW06bm90KC5oZWFkZXItbmF2X19pdGVtLS11dGlsaXR5KSArIC5oZWFkZXItbmF2X19pdGVtLS11dGlsaXR5IHtcbiAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjYjNiM2IzO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICAuaGVhZGVyLW5hdl9faXRlbSA+IC5oZWFkZXItbmF2X19saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cnctY29uZFwiLCBcIkhlbHZldGljYSBOZXVlIENvbmRlbnNlZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuaGVhZGVyLW5hdl9faXRlbS0tdXRpbGl0eSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmhlYWRlci1uYXZfX2l0ZW0tLXV0aWxpdHkgPiAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5oZWFkZXItbmF2X19zdWJtZW51IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2U7IH1cbiAgICAuaGVhZGVyLW5hdl9fc3VibWVudSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmhlYWRlci1uYXZfX3N1Ym1lbnUgPiBsaTpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmRcIiwgXCJIZWx2ZXRpY2EgTmV1ZSBDb25kZW5zZWRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAuaGVhZGVyLW5hdl9fc3VibWVudSA+IGxpOmZpcnN0LWNoaWxkID4gYTo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY29udGVudDogJ1xcZjEwNCc7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuaGVhZGVyLW5hdl9fc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cnctY29uZFwiLCBcIkhlbHZldGljYSBOZXVlIENvbmRlbnNlZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuaGVhZGVyLW5hdl9fc3ViaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMC42NjY2N3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cbiAgICAuaGVhZGVyLW5hdl9fc3ViaXRlbSA+IC5oZWFkZXItbmF2X19saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cndcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuaGVhZGVyLW5hdl9fc3ViaXRlbS0tc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5oZWFkZXItbmF2X19saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyLW5hdl9fbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gICAgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikgLmhlYWRlci1uYXZfX2l0ZW06aG92ZXIgLmhlYWRlci1uYXZfX2xpbmssIC5oZWFkZXI6bm90KC5jYW1wYWlnbi1oZWFkZXIpIC5oZWFkZXItbmF2X19pdGVtLmlzLWFjdGl2ZSAuaGVhZGVyLW5hdl9fbGluaywgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikgLmhlYWRlci1uYXZfX2l0ZW0uaXMtY3VycmVudCAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICBjb2xvcjogI2Q5NTQxZTsgfVxuICAgIC5oZWFkZXI6bm90KC5jYW1wYWlnbi1oZWFkZXIpIC5oZWFkZXItbmF2X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmhlYWRlcjpub3QoLmNhbXBhaWduLWhlYWRlcikgLmhlYWRlci1uYXZfX2l0ZW0gLmhlYWRlci1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTk5KSB0cmFuc2xhdGUoLTUwJSwgMnJlbSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7IH1cbiAgICAuaGVhZGVyOm5vdCguY2FtcGFpZ24taGVhZGVyKSAuaGVhZGVyLW5hdl9faXRlbS5pcy1hY3RpdmUgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaGVhZGVyOm5vdCguY2FtcGFpZ24taGVhZGVyKSAuaGVhZGVyLW5hdl9faXRlbS5pcy1hY3RpdmUgLmhlYWRlci1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNzVyZW0gc29saWQgI2Q5NTQxZTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxLjY4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEuNjg3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxM3B4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMXJlbSk7XG4gICAgICB3aWR0aDogMDsgfVxuICAuaGVhZGVyLmlzLXN0aWNreSAuaGVhZGVyLW5hdl9faXRlbS5pcy1hY3RpdmUgLmhlYWRlci1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICB0b3A6IDE4cHg7IH1cbiAgLmhlYWRlci1uYXZfX2xpbmsge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cndcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogMjsgfVxuICAuaGVhZGVyLW5hdl9fc3VibWVudSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMS41NjI1cmVtIDAuMzEyNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMTUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmhlYWRlci1zZWFyY2hfX2ZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDM3LCAzNywgMC40KTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OyB9XG4gIC5pcy1oZWFkZXItc2VhcmNoLW9wZW4gLmhlYWRlci1zZWFyY2hfX2ZseW91dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5oZWFkZXItc2VhcmNoX190b2dnbGUsXG4uaGVhZGVyLXNlYXJjaF9fY2xvc2Uge1xuICB3aWR0aDogMy4xMjVyZW07IH1cblxuLmhlYWRlci1zZWFyY2hfX3RvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNkOTU0MWU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1czsgfVxuICAuaGVhZGVyLXNlYXJjaF9fdG9nZ2xlIC5pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjEyNXJlbTsgfVxuICAuaGVhZGVyLXNlYXJjaF9fdG9nZ2xlOmhvdmVyLCAuaGVhZGVyLXNlYXJjaF9fdG9nZ2xlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTAwZjM2OyB9XG5cbi5oZWFkZXItc2VhcmNoX190b2dnbGUtLXNtYWxsIHtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiAyLjVyZW07IH1cbiAgLmhlYWRlci1zZWFyY2hfX3RvZ2dsZS0tc21hbGwgLmljb24ge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuXG4uaGVhZGVyLXNlYXJjaF9fY2xvc2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIC0xLjg3NXJlbSAyLjM3NXJlbSAwLjMxMjVyZW0gcmdiYSg0LCAyLCAwLCAwLjIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGhlaWdodDogMi41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIuNXJlbTsgfVxuICAuaGVhZGVyLXNlYXJjaF9fY2xvc2UgLmljb24ge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuXG4uaGVhZGVyLXNlYXJjaF9fZm9ybSB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuM3MgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7IH1cbiAgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgICAuaGVhZGVyLXNlYXJjaF9fZm9ybSAuZmllbGQuZmllbGQtLXRleHQgaW5wdXQsXG4gICAgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0IC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuaGVhZGVyLXNlYXJjaF9fZm9ybSAuZmllbGQuZmllbGQtLXRleHQgaW5wdXQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNiM2IzYjM7IH1cbiAgICAuaGVhZGVyLXNlYXJjaF9fZm9ybSAuZmllbGQuZmllbGQtLXRleHQuaXMtZmlsbGVkLWxhYmVsIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0b3A6IC0wLjc1cmVtOyB9XG4gICAgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0IC5sYWJlbC10ZXh0IHtcbiAgICAgIGNvbG9yOiAjYjNiM2IzOyB9XG5cbi5oZWFkZXItc2VhcmNoX19pY29uIHtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IC0wLjY2NjY3cmVtO1xuICB3aWR0aDogMS41cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlYWRlci1zZWFyY2hfX2Nsb3NlIHtcbiAgICBoZWlnaHQ6IDcuMjVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAuM3MgZWFzZTtcbiAgICB3aWR0aDogMy4xMjVyZW07IH1cbiAgICAuaXMtc3RpY2t5IC5oZWFkZXItc2VhcmNoX19jbG9zZSB7XG4gICAgICBoZWlnaHQ6IDUuMTI1cmVtOyB9XG4gIC5oZWFkZXItc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgIC5oZWFkZXItc2VhcmNoX19mb3JtIC5maWVsZC5maWVsZC0tdGV4dCB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfVxuICAgICAgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0LmZpZWxkLS1mb2N1c2VkIC5mbG9hdGluZy1sYWJlbCwgLmhlYWRlci1zZWFyY2hfX2Zvcm0gLmZpZWxkLmZpZWxkLS10ZXh0LmlzLWZpbGxlZC1sYWJlbCAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0b3A6IC0wLjg3NXJlbTsgfVxuICAuaGVhZGVyLXNlYXJjaF9faWNvbiB7XG4gICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgcmlnaHQ6IC0xcmVtO1xuICAgIHdpZHRoOiAxLjU2MjVyZW07IH0gfVxuXG4uaGVhZGVyLXRvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDM0cHg7IH1cblxuLmhlYWRlci10b2dnbGVfX3N2ZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gIC5pcy1oZWFkZXItbmF2LW9wZW4gLmhlYWRlci10b2dnbGVfX3N2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7IH1cblxuLmhlYWRlci10b2dnbGVfX2xpbmUge1xuICBzdHJva2U6ICMyNTI1MjU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwO1xuICBzdHJva2Utd2lkdGg6IDJweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zaXRpb246IHN0cm9rZSAwLjJzLCB0cmFuc2Zvcm0gMC4ycztcbiAgd2lsbC1jaGFuZ2U6IHN0cm9rZSwgdHJhbnNmb3JtOyB9XG4gIC5pcy1maXJlZm94IC5oZWFkZXItdG9nZ2xlX19saW5lLFxuICAuaXMtaU9TLTExIC5oZWFkZXItdG9nZ2xlX19saW5lIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuICAuaXMtaU9TOm5vdCguaXMtaU9TLTExKSAuaGVhZGVyLXRvZ2dsZV9fbGluZSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IH1cbiAgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZSB7XG4gICAgc3Ryb2tlOiAjZDk1NDFlOyB9XG4gICAgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMSkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVgoLTcwJSk7IH1cbiAgICAgIC5pcy1maXJlZm94IC5pcy1oZWFkZXItbmF2LW9wZW4gLmhlYWRlci10b2dnbGVfX2xpbmU6bnRoLWNoaWxkKDEpLFxuICAgICAgLmlzLXNhZmFyaS5pcy1pT1MtMTEgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMSkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43NSkgdHJhbnNsYXRlWCgtNzAlKTsgfVxuICAgICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMSkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43NSk7IH1cbiAgICAuaXMtaGVhZGVyLW5hdi1vcGVuIC5oZWFkZXItdG9nZ2xlX19saW5lOm50aC1jaGlsZCgyKSB7XG4gICAgICBzdHJva2U6IHRyYW5zcGFyZW50OyB9XG4gICAgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjc1KSB0cmFuc2xhdGVYKDIwJSk7IH1cbiAgICAgIC5pcy1maXJlZm94IC5pcy1oZWFkZXItbmF2LW9wZW4gLmhlYWRlci10b2dnbGVfX2xpbmU6bnRoLWNoaWxkKDMpLFxuICAgICAgLmlzLXNhZmFyaS5pcy1pT1MtMTEgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVgoMjAlKTsgfVxuICAgICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fbGluZTpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNzUpOyB9XG5cbi5oZWFkZXItdG9nZ2xlX190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICB3aWxsLWNoYW5nZTogY29sb3I7IH1cbiAgLmlzLWhlYWRlci1uYXYtb3BlbiAuaGVhZGVyLXRvZ2dsZV9fdGV4dCB7XG4gICAgY29sb3I6ICNkOTU0MWU7IH1cblxuLmhlYWRlci10b3BpY3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmhlYWRlci10b3BpY3NfX3RvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgbGVmdDogMC4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZWFkZXItdG9waWNzX190b2dnbGUgLmhlYWRlci10b3BpY3NfX2ljb24ge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2U7IH1cbiAgLmhlYWRlci10b3BpY3NfX3RvZ2dsZTpob3ZlciAuaGVhZGVyLXRvcGljc19faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vbWVudS1kb3RzLS1vcmFuZ2Uuc3ZnXCIpOyB9XG4gIC5pcy1oZWFkZXItdG9waWNzLW9wZW4gLmhlYWRlci10b3BpY3NfX3RvZ2dsZSAuaGVhZGVyLXRvcGljc19faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vY2xvc2UtLW9yYW5nZS5zdmdcIik7IH1cblxuLmhlYWRlci10b3BpY3NfX2ljb24ge1xuICBoZWlnaHQ6IDAuNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG4gIHdpZHRoOiAwLjc1cmVtOyB9XG5cbi5oZWFkZXItdG9waWNzX19mbHlvdXQge1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAuODVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xLjMzcmVtO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiA5LjkzNzVyZW07IH1cbiAgLmlzLWhlYWRlci10b3BpY3Mtb3BlbiAuaGVhZGVyLXRvcGljc19fZmx5b3V0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5oZWFkZXItdG9waWNzX19tZW51IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5oZWFkZXItdG9waWNzX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC42NjY2N3JlbTsgfVxuICAuaGVhZGVyLXRvcGljc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oZWFkZXItdG9waWNzX19mbHlvdXQge1xuICAgIGxlZnQ6IC0wLjQ3NjE5cmVtO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMHJlbTsgfVxuICAgIC5pcy1oZWFkZXItdG9waWNzLW9wZW4gLmhlYWRlci10b3BpY3NfX2ZseW91dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgICAuaGVhZGVyLXRvcGljc19fZmx5b3V0OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC43NXJlbSBzb2xpZCAjODQxMjZhO1xuICAgICAgYm9yZGVyLWxlZnQ6IDEuNjg3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMS42ODc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiAzMyU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0wLjc1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuOTk5KTtcbiAgICAgIHdpZHRoOiAwOyB9XG4gIC5oZWFkZXItdG9waWNzX19tZW51IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmhlYWRlci11dGlsaXRpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cblxuLmhlYWRlci11dGlsaXRpZXNfX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmhlYWRlci11dGlsaXRpZXNfX2l0ZW0ge1xuICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICNlY2VjZWM7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMC42NjY2N3JlbTsgfVxuICAuaGVhZGVyLXV0aWxpdGllc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5oZWFkZXItdXRpbGl0aWVzX19pdGVtLS1sb2dpbiB7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5oZWFkZXItdXRpbGl0aWVzX19pdGVtLS10b3BpY3Mge1xuICBib3JkZXItbGVmdDogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uaGVhZGVyLXV0aWxpdGllc19faXRlbS0tc2VhcmNoIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyLXV0aWxpdGllc19faXRlbS0tbG9naW4ge1xuICAgIGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgI2VjZWNlYzsgfVxuICAuaGVhZGVyLXV0aWxpdGllc19faXRlbS0tdG9waWNzIHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH0gfVxuXG4uaG92ZXItcmV2ZWFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhvdmVyLXJldmVhbDpob3ZlciAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLmhvdmVyLXJldmVhbDpob3ZlciArIC5ib3JkZXJlZC0tZ3JlZW4ge1xuICAgIGNvbG9yOiAjMTVhMDg5OyB9XG5cbi5ob3Zlci1yZXZlYWwtLXRlYWwge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuaG92ZXItcmV2ZWFsLS10ZWFsOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuaG92ZXItcmV2ZWFsLS10ZWFsIC5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMSwgMTYwLCAxMzcsIDAuNzUpOyB9XG5cbi5ob3Zlci1yZXZlYWwtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAxNy41cmVtOyB9XG5cbi5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMnJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgIHBhZGRpbmc6IDEuOHJlbSAxcmVtOyB9IH1cblxuaHIge1xuICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI2QyZDJkMjtcbiAgbWFyZ2luOiAycmVtIGF1dG87IH1cbiAgaHIud2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyODg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICBodG1sLmNvbmZlcmVuY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaWNvbi0tcGRmIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vcGRmLS1vcmFuZ2UucG5nXCIpOyB9XG5cbi5pY29uLS1hcnJvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2Fycm93LXJpZ2h0LnN2Z1wiKTsgfVxuXG4uaWNvbi0tYXJyb3ctcmlnaHQtY2lyY2xlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vYXJyb3ctY2lyY2xlLnN2Z1wiKTsgfVxuXG4uaWNvbi0tY2xvc2Utd2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9jbG9zZS0td2hpdGUuc3ZnXCIpOyB9XG5cbi5pY29uLS1hcnJvdy0zZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2Fycm93LTNkLS13aGl0ZS5zdmdcIik7IH1cblxuLmljb24tLWFycm93LTNkLW5hdnkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9hcnJvdy0zZC0tbmF2eS5zdmdcIik7IH1cblxuLmljb24tLWNsb3NlLWdyYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9jbG9zZS0tZ3JheS5zdmdcIik7IH1cblxuLmljb24tLWNsb3NlLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2Nsb3NlLS1vcmFuZ2Uuc3ZnXCIpOyB9XG5cbi5pY29uLS1jbG9zZS1vcmFuZ2UtZGFyayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2Nsb3NlLS1vcmFuZ2UtZGFyay5zdmdcIik7IH1cblxuLmljb24tLW1lbnUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9tZW51LnN2Z1wiKTsgfVxuXG4uaWNvbi0tc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vc2VhcmNoLnN2Z1wiKTsgfVxuXG4uaWNvbi0tc2VhcmNoLWdyYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9zZWFyY2gtLWdyYXkuc3ZnXCIpOyB9XG5cbi5pY29uLS10b3BpY3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9tZW51LWRvdHMuc3ZnXCIpOyB9XG5cbi5pY29uLS1sb2NrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vbG9jay0taG92ZXIuc3ZnXCIpOyB9XG5cbi5pY29uLS1nbGFzc2VzLXJlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL2dsYXNzZXMtLXJlZC5wbmdcIik7IH1cblxuLmljb24tLWNsb3NlIHtcbiAgb3BhY2l0eTogLjg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICAuaWNvbi0tY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBJbmZvZ3JhcGhpYyAtIE51bWJlclxucGFydGlhbDogc2ctaW5mb2dyYXBoaWNzLW51bWJlclxuc2VsZWN0b3I6IC5pbmZvZ3JhcGhpY3MtbnVtYmVyXG4qL1xuLyogWUFQTFxubmFtZTogSW5mb2dyYXBoaWMgLSBOdW1iZXJzXG5wYXJ0aWFsOiBpbmZvZ3JhcGhpY3MtbnVtYmVyc1xuY29udGV4dDogaW5mb2dyYXBoaWNzLmFtcy1udW1iZXJzLTJcbnNlbGVjdG9yOiAuaW5mb2dyYXBoaWNzLW51bWJlcnNcbiovXG4vKiBZQVBMXG5uYW1lOiBJbmZvZ3JhcGhpYyAtIExpc3RcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1saXN0XG5jb250ZXh0OiBpbmZvZ3JhcGhpY3MubGlzdFxuc2VsZWN0b3I6IC5pbmZvZ3JhcGhpY3MtbGlzdFxuKi9cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gUXVvdGVcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1xdW90ZVxuY29udGV4dDogaW5mb2dyYXBoaWNzLnF1b3RlXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1xdW90ZVxuKi9cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gU3RlcHNcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1zdGVwc1xuY29udGV4dDogaW5mb2dyYXBoaWNzLnN0ZXBzXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1zdGVwc1xuKi9cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gSXRlbS1CYXIgKE51bWJlcilcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1pdGVtLWJhclxuY29udGV4dDogaW5mb2dyYXBoaWNzLml0ZW0tYmFyXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1pdGVtLWJhclxuKi9cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gSXRlbS1CYXIgKFRleHQpXG5wYXJ0aWFsOiBpbmZvZ3JhcGhpY3MtaXRlbS1iYXJcbmNvbnRleHQ6IGluZm9ncmFwaGljcy5pdGVtLWJhci0yXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1pdGVtLWJhclxuKi9cbi5pbmZvZ3JhcGhpY3MtbnVtYmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmlzLWVkZ2UgLmluZm9ncmFwaGljcy1udW1iZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX190aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1YTA4OTtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX190aXRsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnJlbSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cmVtKTsgfSB9XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX3RpdGxlOjpiZWZvcmUsIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX190aXRsZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3RhZy1jb3JuZXItLWdyZWVuLnBuZ1wiKTtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaW5mb2dyYXBoaWNzLW51bWJlciAuaW5mb2dyYXBoaWNzLW51bWJlcl9fdGl0bGU6OmJlZm9yZSwgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX3RpdGxlOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAtOXB4O1xuICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgIHdpZHRoOiAxOHB4OyB9IH1cbiAgICAuaW5mb2dyYXBoaWNzLW51bWJlciAuaW5mb2dyYXBoaWNzLW51bWJlcl9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX3RpdGxlOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyLXRleHQtY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXItdGV4dC1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX19kZXNjcmlwdGlvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGY4ZjhmO1xuICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vaW1nL2JvcmRlci1kb3RzLnBuZ1wiKTtcbiAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gICAgYm9yZGVyLWltYWdlLXdpZHRoOiAycHggMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW5mb2dyYXBoaWNzLW51bWJlciAuaW5mb2dyYXBoaWNzLW51bWJlcl9faWNvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIC41cmVtOyB9XG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIG1pbi1oZWlnaHQ6IDE5LjY4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX2ltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjYuODc1cmVtOyB9IH1cbiAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX2NvbHVtbi1yaWdodCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX2NvbHVtbi1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX19pY29uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgIC5pcy1pZSAuaW5mb2dyYXBoaWNzLW51bWJlciAuaW5mb2dyYXBoaWNzLW51bWJlcl9faWNvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNDUlOyB9XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXIgLmluZm9ncmFwaGljcy1udW1iZXJfX2NvbHVtbi1yaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTsgfVxuICAgICAgLmlzLWllIC5pbmZvZ3JhcGhpY3MtbnVtYmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX19jb2x1bW4tcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgNDUlOyB9IH1cblxuLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogIzhmOGY4ZjtcbiAgYm9yZGVyLWltYWdlOiB1cmwoXCIuLi9pbWcvYm9yZGVyLWRvdHMucG5nXCIpO1xuICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgYm9yZGVyLWltYWdlLXNsaWNlOiAyO1xuICBib3JkZXItaW1hZ2Utd2lkdGg6IDJweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBib3JkZXItd2lkdGg6IDJweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAzcmVtO1xuICBwYWRkaW5nOiAzcmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDAgLjVyZW07IH0gfVxuICAuaW5mb2dyYXBoaWNzLW51bWJlciAuaW5mb2dyYXBoaWNzLW51bWJlcnMtY29udGFpbmVyIHtcbiAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDA7IH1cbiAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ZjhmOGY7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vaW1nL2JvcmRlci1kb3RzLnBuZ1wiKTtcbiAgICAgICAgYm9yZGVyLWltYWdlLXJlcGVhdDogcm91bmQ7XG4gICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMjtcbiAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDAgMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuICAgICAgICAuaW5mb2dyYXBoaWNzLW51bWJlcnMtY29udGFpbmVyIC5pbmZvZ3JhcGhpY3MtbnVtYmVyc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVycy1jb250YWluZXIgLmluZm9ncmFwaGljcy1udW1iZXJzX19pdGVtIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0gLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0gaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVycy1jb250YWluZXIgLmluZm9ncmFwaGljcy1udW1iZXJzX19pdGVtOmxhc3QtY2hpbGQgLmluZ29ncmFwaGljcy1udW1iZXJzX19pdGVtLWNvbnRlbnQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwOyB9XG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVycy1jb250YWluZXIgLmluZ29ncmFwaGljcy1udW1iZXJzX19pdGVtLWNvbnRlbnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGY4ZjhmO1xuICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vaW1nL2JvcmRlci1kb3RzLnBuZ1wiKTtcbiAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDJweCAwIDA7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5nb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0tY29udGVudCB7XG4gICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9IH1cbiAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnMtaWNvbi1jb250YWluZXIge1xuICAgIGhlaWdodDogOTBweDtcbiAgICB3aWR0aDogMTE1cHg7IH1cbiAgLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2ljb24ge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLmluZm9ncmFwaGljcy1pdGVtLWJhciB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIC5pbmZvZ3JhcGhpY3MtaXRlbS1iYXIgLmluZm9ncmFwaGljcy1pdGVtLWJhcl9faXRlbSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuaW5mb2dyYXBoaWNzLWl0ZW0tYmFyIC5pbmZvZ3JhcGhpY3MtaXRlbS1iYXJfX2l0ZW0gKiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmluZm9ncmFwaGljcy1pdGVtLWJhciAuaW5mb2dyYXBoaWNzLWl0ZW0tYmFyX19pbWFnZS1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE3MHB4OyB9XG4gICAgLmluZm9ncmFwaGljcy1pdGVtLWJhciAuaW5mb2dyYXBoaWNzLWl0ZW0tYmFyX19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uaW5mb2dyYXBoaWNzLXF1b3RlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljcy1xdW90ZSB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07IH0gfVxuICAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQge1xuICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbmZvZ3JhcGhpY3MtcXVvdGUgLmluZm9ncmFwaGljcy1xdW90ZV9fY29udGVudDo6YmVmb3JlLCAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDY2cHg7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQ6OmJlZm9yZSwgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19jb250ZW50OjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgIHdpZHRoOiAxMTBweDsgfSB9XG4gICAgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19jb250ZW50OjpiZWZvcmUge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAzM3B4KTtcbiAgICAgIHRvcDogLTFyZW07IH1cbiAgICAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICByaWdodDogY2FsYyg1MCUgLSAzM3B4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19jb250ZW50OjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAzLjc1cmVtOyB9XG4gICAgICAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDMuNzVyZW07IH0gfVxuICAuaW5mb2dyYXBoaWNzLXF1b3RlLmluZm9ncmFwaGljcy1xdW90ZS0tb3JhbmdlLWxpZ2h0IC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2Y4OTgxZDsgfVxuICAgIC5pbmZvZ3JhcGhpY3MtcXVvdGUuaW5mb2dyYXBoaWNzLXF1b3RlLS1vcmFuZ2UtbGlnaHQgLmluZm9ncmFwaGljcy1xdW90ZV9fY29udGVudDo6YmVmb3JlLCAuaW5mb2dyYXBoaWNzLXF1b3RlLmluZm9ncmFwaGljcy1xdW90ZS0tb3JhbmdlLWxpZ2h0IC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uL3F1b3RhdGlvbi0tb3JhbmdlLnN2Z1wiKTsgfVxuICAuaW5mb2dyYXBoaWNzLXF1b3RlLmluZm9ncmFwaGljcy1xdW90ZS0tb3JhbmdlLWxpZ2h0IC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2F1dGhvciB7XG4gICAgY29sb3I6ICNmODk4MWQ7IH1cbiAgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEyMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMTIwJTtcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDFyZW0gMi44MTI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDYuMjVyZW0gMXJlbSAzLjEyNXJlbTsgfSB9XG4gICAgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lciAuaW5mb2dyYXBoaWNzLXF1b3RlX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5pcy1pT1M6bm90KC5pcy1pT1MtMTEpIC5pbmZvZ3JhcGhpY3MtcXVvdGUgLmluZm9ncmFwaGljcy1xdW90ZV9faW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAuaXMtaU9TOm5vdCguaXMtaU9TLTExKSAuaW5mb2dyYXBoaWNzLXF1b3RlIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2lubmVyOjpiZWZvcmUsIC5pcy1pT1M6bm90KC5pcy1pT1MtMTEpIC5pbmZvZ3JhcGhpY3MtcXVvdGUgLmluZm9ncmFwaGljcy1xdW90ZV9faW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMjVweDsgfVxuICAgICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgLmluZm9ncmFwaGljcy1xdW90ZSAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lcjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC0yNXB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwcy1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9IH1cblxuLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzLWhlYWRlci1pY29uIHtcbiAgaGVpZ2h0OiAxMzBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzLWhlYWRlci1pY29uIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0taGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzLWhlYWRlci10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwcy1oZWFkZXItdGV4dCBoMiB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwcy1oZWFkZXItdGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHMtaGVhZGVyLXRleHQgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtLW51bWJlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjlmY2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDg1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICB3aWR0aDogODVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS1udW1iZXIge1xuICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICAgIHdpZHRoOiAxMjVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtLW51bWJlciB7XG4gICAgICBoZWlnaHQ6IDE0NXB4O1xuICAgICAgd2lkdGg6IDE0NXB4OyB9IH1cblxuLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtLXRpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzc2NDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDY1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAtMXJlbTtcbiAgcGFkZGluZzogMXJlbSAuNXJlbSAxcmVtIC43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZTo6YmVmb3JlLCAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0tdGl0bGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaW5mb2dyYXBoaWMtc3RlcC0tYmVmb3JlLnBuZ1wiKTtcbiAgICBsZWZ0OiAtMTJweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE0cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtLXRpdGxlOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMThweDtcbiAgICAgICAgd2lkdGg6IDIycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0tdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0yMnB4O1xuICAgICAgICB3aWR0aDogMjJweDsgfSB9XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pbmZvZ3JhcGhpYy1zdGVwLS1hZnRlci5wbmdcIik7XG4gICAgcmlnaHQ6IC0xN3B4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMThweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0tdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0yNnB4O1xuICAgICAgICB3aWR0aDogMjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZSB7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICBsZWZ0OiAtMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0tdGl0bGUge1xuICAgICAgaGVpZ2h0OiAxMDNweDsgfSB9XG5cbi5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgYm90dG9tOiAtM3JlbTsgfVxuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmQyZDI7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yOyB9XG4gICAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdC5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM3NjQ7IH1cbiAgLmluZm9ncmFwaGljcy1zdGVwcyAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgICBtYXJnaW46IDAgMy41JTtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHdpZHRoOiA4MiU7IH0gfVxuXG4uaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHMtaXRlbS1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwcy1pdGVtLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmluZm9ncmFwaGljcy1zdGVwcyAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uaW5mb2dyYXBoaWNzLWxpc3Qge1xuICBtYXJnaW46IDAgMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmluZm9ncmFwaGljcy1saXN0IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5pbmZvZ3JhcGhpY3MtbGlzdCAuaW5mb2dyYXBoaWNzLWxpc3QtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwNGE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICAuaW5mb2dyYXBoaWNzLWxpc3QgLmluZm9ncmFwaGljcy1saXN0LWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90YWctY29ybmVyLS1ncmVlbi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgbGVmdDogLTExcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY3MtbGlzdCAuaW5mb2dyYXBoaWNzLWxpc3QtaGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDJyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjhweCk7IH1cbiAgICAgICAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdC1oZWFkZXI6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgIHdpZHRoOiAyOHB4OyB9IH1cbiAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdC1oZWFkZXItaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDcwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdC1oZWFkZXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxMjVweDsgfSB9XG4gIC5pbmZvZ3JhcGhpY3MtbGlzdCAuaW5mb2dyYXBoaWNzLWxpc3QtaGVhZGVyLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNzLWxpc3QgLmluZm9ncmFwaGljcy1saXN0LWhlYWRlci10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY3MtbGlzdCAuaW5mb2dyYXBoaWNzLWxpc3RfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH1cbiAgICAgICAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjOGY4ZjhmO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogdXJsKFwiLi4vaW1nL2JvcmRlci1kb3RzLnBuZ1wiKTtcbiAgICAgICAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDJweCAwIDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNzLWxpc3QgLmluZm9ncmFwaGljcy1saXN0X19pdGVtIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOGY4ZjhmO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL2ltZy9ib3JkZXItZG90cy5wbmdcIik7XG4gICAgICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHJvdW5kO1xuICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMCAycHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDA7IH1cbiAgICAgICAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDA7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9IH1cbiAgLmluZm9ncmFwaGljcy1saXN0IC5pbmZvZ3JhcGhpY3MtbGlzdF9faXRlbS1udW1iZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhjYzYzZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDQuMTI1cmVtO1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY3MtbGlzdCAuaW5mb2dyYXBoaWNzLWxpc3RfX2l0ZW0tbnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiA2LjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDE4NXB4O1xuICAgICAgICB3aWR0aDogMTg1cHg7IH0gfVxuXG4uaW5mb2dyYXBoaWNzLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuXG4uaW1hZ2UtZmlsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IC40cyBlYXNlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaW1hZ2UtZmlsbCBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjsgfVxuICAuaW1hZ2UtZmlsbCAuaW1hZ2UtZmlsbF9fYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZlYXR1cmUtaW1hZ2UgLmltYWdlLWZpbGwgLmltYWdlLWZpbGxfX2JhY2tncm91bmQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7IH0gfVxuXG4uaW4tdmlldy0tc2xpZGUtdXAge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pbi12aWV3LS1zbGlkZS11cCAuaW4tdmlld19fZWxlbWVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSkgc2NhbGUoMi41KTtcbiAgICB0cmFuc2l0aW9uOiAxLjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbi12aWV3LS1zbGlkZS11cC5pbi12aWV3LS1zbGlkZS11cC00IC5pbi12aWV3X19lbGVtZW50Om50aC1jaGlsZCgxKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAwJSwgMzAwJSkgc2NhbGUoMik7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAgIC5pbi12aWV3LS1zbGlkZS11cC5pbi12aWV3LS1zbGlkZS11cC00IC5pbi12aWV3X19lbGVtZW50Om50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMzAwJSkgc2NhbGUoMik7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzOyB9XG4gICAgLmluLXZpZXctLXNsaWRlLXVwLmluLXZpZXctLXNsaWRlLXVwLTQgLmluLXZpZXdfX2VsZW1lbnQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDMwMCUpIHNjYWxlKDIpO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjNzOyB9XG4gICAgLmluLXZpZXctLXNsaWRlLXVwLmluLXZpZXctLXNsaWRlLXVwLTQgLmluLXZpZXdfX2VsZW1lbnQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwMCUsIDMwMCUpIHNjYWxlKDIpO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjQ1czsgfSB9XG4gIC5pbi12aWV3LS1zbGlkZS11cC5pcy1pbi12aWV3IC5pbi12aWV3X19lbGVtZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKSAhaW1wb3J0YW50OyB9XG5cbi5pbnBhZ2UtbmF2IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmlucGFnZS1uYXZfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTVhMDg5O1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2ZlZmVmZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHdpZHRoO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaW5wYWdlLW5hdl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDYwNWQ7IH1cbiAgLmlucGFnZS1uYXZfX2l0ZW06aG92ZXIsIC5pbnBhZ2UtbmF2X19pdGVtOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc0MjQ0O1xuICAgIHdpZHRoOiAxMjAlOyB9XG4gICAgLmlucGFnZS1uYXZfX2l0ZW06aG92ZXIgLmlucGFnZS1uYXZfX3RleHQsIC5pbnBhZ2UtbmF2X19pdGVtOmZvY3VzIC5pbnBhZ2UtbmF2X190ZXh0IHtcbiAgICAgIHdpZHRoOiA4My4zMzMlOyB9XG4gIC5pbnBhZ2UtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4uaW5wYWdlLW5hdl9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5saW5rIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjI1czsgfVxuXG4ubGluay0tYmxhY2sge1xuICBjb2xvcjogIzI1MjUyNTsgfVxuICAubGluay0tYmxhY2s6aG92ZXIsIC5saW5rLS1ibGFjazpmb2N1cyB7XG4gICAgY29sb3I6ICNkOTU0MWU7IH1cblxuLmxpbmstLW9yYW5nZSB7XG4gIGNvbG9yOiAjZDk1NDFlOyB9XG4gIC5saW5rLS1vcmFuZ2U6aG92ZXIsIC5saW5rLS1vcmFuZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjYTAwZjM2OyB9XG5cbi5saW5rLS1vcmFuZ2UtdmVyeS1wYWxlIHtcbiAgY29sb3I6ICNmYmMxNzc7IH1cbiAgLmxpbmstLW9yYW5nZS12ZXJ5LXBhbGU6aG92ZXIsIC5saW5rLS1vcmFuZ2UtdmVyeS1wYWxlOmZvY3VzIHtcbiAgICBjb2xvcjogI2Y4OTgxZDsgfVxuXG4ubGluay0tZ3JlZW4tcGFsZSB7XG4gIGNvbG9yOiAjYTNkMTY1OyB9XG4gIC5saW5rLS1ncmVlbi1wYWxlOmhvdmVyLCAubGluay0tZ3JlZW4tcGFsZTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmxpbmstLXJlZC1taWQge1xuICBjb2xvcjogI2EwMGYzNjsgfVxuICAubGluay0tcmVkLW1pZDpob3ZlciwgLmxpbmstLXJlZC1taWQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNzIxMDMxOyB9XG5cbi5saW5rLS1wdXJwbGUsXG4ubGluay0tbWFnZW50YS1kYXJrIHtcbiAgY29sb3I6ICM4NDEyNmE7IH1cbiAgLmxpbmstLXB1cnBsZTpob3ZlciwgLmxpbmstLXB1cnBsZTpmb2N1cyxcbiAgLmxpbmstLW1hZ2VudGEtZGFyazpob3ZlcixcbiAgLmxpbmstLW1hZ2VudGEtZGFyazpmb2N1cyB7XG4gICAgY29sb3I6ICNmODk4MWQ7IH1cblxuLmxpbmstLW1hZ2VudGEtcGFsZSB7XG4gIGNvbG9yOiAjZWY2ZmRkOyB9XG4gIC5saW5rLS1tYWdlbnRhLXBhbGU6aG92ZXIsIC5saW5rLS1tYWdlbnRhLXBhbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAjZjM5NGU2OyB9XG5cbi5saW5rLS13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5saW5rLS13aGl0ZTpob3ZlciwgLmxpbmstLXdoaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogI2Y4OTgxZDsgfVxuXG4ubGluay0tbW9yZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxpbmstLW1vcmUgLmljb24uZmEge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsZWZ0OiAwLjA2MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGxlZnQgLjNzIGVhc2U7IH1cbiAgICAubGluay0tbW9yZSAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUsIC5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLS4yMnJlbTsgfVxuICAgIC5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWFuZ2xlLXJpZ2h0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgICAubGluay0tbW9yZSAuaWNvbi5mYS5mYS1hbmdsZS1yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLjFlbTsgfVxuICAubGluay0tbW9yZTpub3QoLmJ1dHRvbikgLmljb24uZmEge1xuICAgIGxlZnQ6IDAuMjVyZW07IH1cbiAgICAubGluay0tbW9yZTpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1yaWdodDo6YmVmb3JlLCAubGluay0tbW9yZTpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICAgICAgdG9wOiAtMC4xMjVyZW07IH1cbiAgLmxpbmstLW1vcmUgLmljb24tLWFycm93LTNkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHdpZHRoOiAzLjYyNXJlbTsgfVxuICAgIC5saW5rLS1tb3JlIC5pY29uLS1hcnJvdy0zZC5pY29uLS1hcnJvdy0zZC1zbWFsbCB7XG4gICAgICBoZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjY4NzVyZW07XG4gICAgICB3aWR0aDogMi40Mzc1cmVtOyB9XG4gIC5saW5rLS1tb3JlOmhvdmVyOm5vdCguYnV0dG9uKSAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0LCAubGluay0tbW9yZTpob3Zlcjpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0LCAubGluay0tbW9yZTpob3Zlcjpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtYW5nbGUtcmlnaHQsIC5saW5rLS1tb3JlOmhvdmVyOm5vdCguYnV0dG9uKSAuaWNvbi5mYS5mYS1hbmdsZS1sZWZ0LCAubGluay0tbW9yZTpmb2N1czpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1yaWdodCwgLmxpbmstLW1vcmU6Zm9jdXM6bm90KC5idXR0b24pIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdCwgLmxpbmstLW1vcmU6Zm9jdXM6bm90KC5idXR0b24pIC5pY29uLmZhLmZhLWFuZ2xlLXJpZ2h0LCAubGluay0tbW9yZTpmb2N1czpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtYW5nbGUtbGVmdCB7XG4gICAgbGVmdDogMC41NjI1cmVtOyB9XG4gIC5saW5rLS1tb3JlOmhvdmVyIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQsIC5saW5rLS1tb3JlOmhvdmVyIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdCwgLmxpbmstLW1vcmU6aG92ZXIgLmljb24uZmEuZmEtYW5nbGUtcmlnaHQsIC5saW5rLS1tb3JlOmhvdmVyIC5pY29uLmZhLmZhLWFuZ2xlLWxlZnQsIC5saW5rLS1tb3JlOmZvY3VzIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQsIC5saW5rLS1tb3JlOmZvY3VzIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdCwgLmxpbmstLW1vcmU6Zm9jdXMgLmljb24uZmEuZmEtYW5nbGUtcmlnaHQsIC5saW5rLS1tb3JlOmZvY3VzIC5pY29uLmZhLmZhLWFuZ2xlLWxlZnQge1xuICAgIGxlZnQ6IDAuMzEyNXJlbTsgfVxuICAubGluay0tbW9yZTpob3Zlcjpob3ZlciAuaWNvbi0tYXJyb3ctM2QsIC5saW5rLS1tb3JlOmhvdmVyOmZvY3VzIC5pY29uLS1hcnJvdy0zZCwgLmxpbmstLW1vcmU6Zm9jdXM6aG92ZXIgLmljb24tLWFycm93LTNkLCAubGluay0tbW9yZTpmb2N1czpmb2N1cyAuaWNvbi0tYXJyb3ctM2Qge1xuICAgIGFuaW1hdGlvbjogd2lnZ2xlIC41czsgfVxuICAubGluay0tbW9yZS5saW5rLS1tb3JlLWxvY2sgLmljb24uZmEuZmEtbG9jayB7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHRvcDogMDsgfVxuICAgIC5saW5rLS1tb3JlLmxpbmstLW1vcmUtbG9jayAuaWNvbi5mYS5mYS1sb2NrOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxpbmstLW1vcmUubGluay0tbW9yZS1sYXJnZSAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUsIC5saW5rLS1tb3JlLmxpbmstLW1vcmUtbGFyZ2UgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICAgIHRvcDogLjE1ZW07IH1cbiAgLmxpbmstLW1vcmUubGluay0tbW9yZS1zbWFsbCAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUsIC5saW5rLS1tb3JlLmxpbmstLW1vcmUtc21hbGwgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICAgIHRvcDogLTAuMTg3NXJlbTsgfVxuXG4ubGluay0tbW9yZTpob3Zlcjpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0IHtcbiAgcmlnaHQ6IDAuNTYyNXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGluay0tbW9yZTpub3QoLmJ1dHRvbikgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0IHtcbiAgcmlnaHQ6IDAuMjVyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmxpbmstLW1vcmU6aG92ZXIgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0IHtcbiAgcmlnaHQ6IDAuNTYyNXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGluay0tbG9jazo6YWZ0ZXIge1xuICBjb2xvcjogIzY2NjtcbiAgY29udGVudDogJ1xcMDBBMFxcZjAyMyc7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IC45ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cblxuLmxpbmstLWV4dGVybmFsOjphZnRlciB7XG4gIGNvbG9yOiAjOGY4ZjhmO1xuICBjb250ZW50OiAnXFxmMDhlJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNnB4OyB9XG5cbi5saW5rLS1jb250YWN0IC5pY29uIHtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDsgfVxuXG4ubGluay0tY29udGFjdC5saW5rLS1ncmVlbi1wYWxlIC5pY29uIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmxpbmstLWJhY2sge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmxpbmstLWJhY2s6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjA1Myc7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgZm9udC1zaXplOiAuNmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTAuMDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC4zcyBlYXNlOyB9XG4gIC5saW5rLS1iYWNrOmhvdmVyOjpiZWZvcmUsIC5saW5rLS1iYWNrOmZvY3VzOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0wLjI1cmVtOyB9XG5cbi5saW5rLS1uZXh0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5saW5rLS1uZXh0OjphZnRlciB7XG4gICAgY29udGVudDogJ1xcZjA1Myc7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgZm9udC1zaXplOiAuNmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTAuMDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTsgfVxuICAubGluay0tbmV4dDpob3Zlcjo6YWZ0ZXIsIC5saW5rLS1uZXh0OmZvY3VzOjphZnRlciB7XG4gICAgcmlnaHQ6IC0wLjI1cmVtOyB9XG5cbi5saW5rLS1hcnJvdy0zZC5ibHVlLW5hdnkge1xuICBjb2xvcjogIzAwMzc2NDsgfVxuXG4ubGluay0tYXJyb3ctM2Qud2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4vKlxuPT0gbWFsaWh1IGpxdWVyeSBjdXN0b20gc2Nyb2xsYmFyIHBsdWdpbiA9PVxuUGx1Z2luIFVSSTogaHR0cDovL21hbm9zLm1hbGlodS5nci9qcXVlcnktY3VzdG9tLWNvbnRlbnQtc2Nyb2xsZXJcbiovXG4vKlxuQ09OVEVOVFM6XG5cdDEuIEJBU0lDIFNUWUxFIC0gUGx1Z2luJ3MgYmFzaWMvZXNzZW50aWFsIENTUyBwcm9wZXJ0aWVzIChub3JtYWxseSwgc2hvdWxkIG5vdCBiZSBlZGl0ZWQpLlxuXHQyLiBWRVJUSUNBTCBTQ1JPTExCQVIgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXIuXG5cdDMuIEhPUklaT05UQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgaG9yaXpvbnRhbCBzY3JvbGxiYXIuXG5cdDQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiAyLWF4aXMgc2Nyb2xsYmFycy5cblx0NS4gVFJBTlNJVElPTlMgLSBDU1MzIHRyYW5zaXRpb25zIGZvciBob3ZlciBldmVudHMsIGF1dG8tZXhwYW5kZWQgYW5kIGF1dG8taGlkZGVuIHNjcm9sbGJhcnMuXG5cdDYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTXG5cdFx0Ni4xIFRIRU1FUyAtIFNjcm9sbGJhciBjb2xvcnMsIG9wYWNpdHksIGRpbWVuc2lvbnMsIGJhY2tncm91bmRzIGV0Yy4gdmlhIHJlYWR5LXRvLXVzZSB0aGVtZXMuXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMS4gQkFTSUMgU1RZTEVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ3VzdG9tU2Nyb2xsYmFyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbiAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAvKiBkaXJlY3QgcG9pbnRlciBldmVudHMgdG8ganMgKi8gfVxuXG4ubUN1c3RvbVNjcm9sbGJhci5tQ1Nfbm9fc2Nyb2xsYmFyLCAubUN1c3RvbVNjcm9sbGJhci5tQ1NfdG91Y2hfYWN0aW9uIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsQm94IHtcbiAgLyogY29udGFpbnMgcGx1Z2luJ3MgbWFya3VwICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5tQ1NCX2NvbnRhaW5lciB7XG4gIC8qIGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBjb250ZW50ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi4gVkVSVElDQUwgU0NST0xMQkFSXG55LWF4aXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG4ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTQl9zY3JvbGxUb29scyB7XG4gIC8qIGNvbnRhaW5zIHNjcm9sbGJhciBtYXJrdXAgKGRyYWdnYWJsZSBlbGVtZW50LCBkcmFnZ2VyIHJhaWwsIGJ1dHRvbnMgZXRjLikgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgcmlnaHQ6IC0yNnB4OyB9XG5cbi8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuLm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgbGVmdDogLTI2cHg7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgLyogY29udGFpbnMgdGhlIGRyYWdnYWJsZSBlbGVtZW50IGFuZCBkcmFnZ2VyIHJhaWwgbWFya3VwICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG4gIHotaW5kZXg6IDE7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEycHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4zLiBIT1JJWk9OVEFMIFNDUk9MTEJBUlxueC1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5tQ1NCX2hvcml6b250YWwubUNTQl9vdXRzaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4ubUNTQl9ob3Jpem9udGFsID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIG5vbi12aXNpYmxlIHNjcm9sbGJhciAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogLTI2cHg7IH1cblxuLyogc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlICovXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBtYXJnaW46IDAgMjBweDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogN3B4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMzBweDtcbiAgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggYXV0bzsgfVxuXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDEycHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogMnB4IGF1dG87IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogNHB4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICByaWdodDogMDsgfVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG40LiBWRVJUSUNBTCBBTkQgSE9SSVpPTlRBTCBTQ1JPTExCQVJTXG55eC1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIgPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3R0b206IDIwcHg7IH1cblxuLm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIHJpZ2h0OiAyMHB4OyB9XG5cbi8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBub24tdmlzaWJsZSB2ZXJ0aWNhbCBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICByaWdodDogMDsgfVxuXG4vKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGxlZnQ6IDIwcHg7IH1cblxuLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyL1JUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuLm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzIH4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgbGVmdDogMDsgfVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlciB7XG4gIC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4gPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuIFRSQU5TSVRJT05TXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9zY3JvbGxUb29scyxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLCBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycywgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDYuMSBUSEVNRVNcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQqL1xuLyogZGVmYXVsdCB0aGVtZSAoXCJsaWdodFwiKSAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAwLjc1O1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cbi5tQ1MtYXV0b0hpZGUgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjsgfVxuXG4ubUN1c3RvbVNjcm9sbGJhciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsXG4ubUN1c3RvbVNjcm9sbGJhciA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsXG4ubUN1c3RvbVNjcm9sbEJveDpob3ZlciA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgfiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1DU0JfYnV0dG9ucy5wbmcpO1xuICAvKiBjc3Mgc3ByaXRlcyAqL1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvcGFjaXR5OiAwLjQ7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIC8qXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnNcblx0XHRsaWdodDogMCAwLCAtMTZweCAwLCAtMzJweCAwLCAtNDhweCAwLCAwIC03MnB4LCAtMTZweCAtNzJweCwgLTMycHggLTcycHhcblx0XHRkYXJrOiAtODBweCAwLCAtOTZweCAwLCAtMTEycHggMCwgLTEyOHB4IDAsIC04MHB4IC03MnB4LCAtOTZweCAtNzJweCwgLTExMnB4IC03MnB4XG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDtcbiAgLypcblx0XHRzcHJpdGVzIGxvY2F0aW9uc1xuXHRcdGxpZ2h0OiAwIC0yMHB4LCAtMTZweCAtMjBweCwgLTMycHggLTIwcHgsIC00OHB4IC0yMHB4LCAwIC05MnB4LCAtMTZweCAtOTJweCwgLTMycHggLTkycHhcblx0XHRkYXJrOiAtODBweCAtMjBweCwgLTk2cHggLTIwcHgsIC0xMTJweCAtMjBweCwgLTEyOHB4IC0yMHB4LCAtODBweCAtOTJweCwgLTk2cHggLTkycHgsIC0xMTIgLTkycHhcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xuICAvKlxuXHRcdHNwcml0ZXMgbG9jYXRpb25zXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcbiAgLypcblx0XHRzcHJpdGVzIGxvY2F0aW9uc1xuXHRcdGxpZ2h0OiAwIC01NnB4LCAtMjBweCAtNTZweCwgLTQwcHggLTU2cHgsIC02MHB4IC01NnB4LCAwIC0xMjhweCwgLTIwcHggLTEyOHB4LCAtNDBweCAtMTI4cHhcblx0XHRkYXJrOiAtODBweCAtNTZweCwgLTEwMHB4IC01NnB4LCAtMTIwcHggLTU2cHgsIC0xNDBweCAtNTZweCwgLTgwcHggLTEyOHB4LCAtMTAwcHggLTEyOHB4LCAtMTIwcHggLTEyOHB4XG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDpob3Zlcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246aG92ZXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmhvdmVyLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc1O1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwOmFjdGl2ZSxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246YWN0aXZlLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDphY3RpdmUsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodDphY3RpdmUge1xuICBvcGFjaXR5OiAwLjk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IH1cblxuLyogdGhlbWU6IFwiZGFya1wiICovXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0aGVtZTogXCJsaWdodC0yXCIsIFwiZGFyay0yXCIgKi9cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggYXV0bzsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMHB4OyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNDBweDsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC01NnB4OyB9XG5cbi8qIHRoZW1lOiBcImRhcmstMlwiICovXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0yMHB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNDBweDsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LXRoaWNrXCIsIFwiZGFyay10aGlja1wiICovXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IDZweCAwOyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDVweCBhdXRvOyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjBweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC00MHB4OyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4OyB9XG5cbi8qIHRoZW1lOiBcImRhcmstdGhpY2tcIiAqL1xuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTIwcHg7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNDBweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNTZweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0aGVtZTogXCJsaWdodC10aGluXCIsIFwiZGFyay10aGluXCIgKi9cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG5cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMnB4OyB9XG5cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luOiA3cHggYXV0bzsgfVxuXG4vKiB0aGVtZSBcImRhcmstdGhpblwiICovXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMHB4OyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00MHB4OyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0aGVtZSBcInJvdW5kZWRcIiwgXCJyb3VuZGVkLWRhcmtcIiwgXCJyb3VuZGVkLWRvdHNcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIHtcbiAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxNHB4O1xuICBtYXJnaW46IDAgMXB4OyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIHtcbiAgd2lkdGg6IDE0cHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMXB4IDA7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTZweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IC0xcHggMDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA0cHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTZweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgd2lkdGg6IDE2cHg7XG4gIG1hcmdpbjogMCAtMXB4OyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBoZWlnaHQ6IDRweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luOiA2cHggMDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTcycHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJyb3VuZGVkLWRhcmtcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC03MnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05MnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lIFwicm91bmRlZC1kb3RzXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA0cHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQU5FbEVRVlFZVjJOa0lBQVlpVmJ3Ly85L1k2RGlNMUFOSm95TWpHZEJiTGdKUUFYL2tVMERLZ0RMa2FRQXZ4VzRIRXZRRndDUmN4SUpLMVh6bkFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgb3BhY2l0eTogMC4zO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTcycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPVwiKTsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNzJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05MnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMTJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIsIFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTsgfVxuXG4vKiB0aGVtZSBcIjNkXCIsIFwiM2QtZGFya1wiICovXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDcwcHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciB7XG4gIHdpZHRoOiA3MHB4OyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpLCBpbnNldCAtMXB4IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1OyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiA4cHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IDRweCAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpLCBpbnNldCAwIC0xcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IDRweCBhdXRvOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lIFwiM2QtZGFya1wiICovXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDsgfVxuXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4OyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0aGVtZTogXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA3cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLm1DU0JfaW5zaWRlICsgLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLFxuLm1DU0JfaW5zaWRlICsgLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICByaWdodDogMXB4OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogMXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIHdpZHRoOiAxMnB4O1xuICBtYXJnaW46IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZTogXCIzZC10aGljay1kYXJrXCIgKi9cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDE0cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpLCBpbnNldCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcIm1pbmltYWxcIiwgXCJtaW5pbWFsLWRhcmtcIiAqL1xuLm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLFxuLm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAxMnB4IDA7IH1cblxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsgKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwIDEycHg7IH1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDUwcHg7IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogNTBweDsgfVxuXG4ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiOyB9XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyB9XG5cbi8qIHRoZW1lOiBcIm1pbmltYWwtZGFya1wiICovXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IH1cblxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwibGlnaHQtM1wiLCBcImRhcmstM1wiICovXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiA2cHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDVweCAwOyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEycHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luOiAycHggMDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lIFwiZGFyay0zXCIgKi9cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4OyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwiaW5zZXRcIiwgXCJpbnNldC1kYXJrXCIsIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDZweDtcbiAgbWFyZ2luOiAzcHggNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgaGVpZ2h0OiA2cHg7XG4gIG1hcmdpbjogNXB4IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luOiAycHggMDsgfVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yLWRhcmtcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJpbnNldC0yXCIsIFwiaW5zZXQtMi1kYXJrXCIgKi9cbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLyogdGhlbWUgXCJpbnNldC0zXCIsIFwiaW5zZXQtMy1kYXJrXCIgKi9cbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiEgRmxpY2tpdHkgdjIuMC4xMFxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogZHJhZ2dhYmxlICovXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3duIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDlGOyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiAxMHB4OyB9XG5cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDsgfVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjAlO1xuICB0b3A6IDIwJTtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA2MCU7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgZmlsbDogIzMzMzsgfVxuXG4vKiAtLS0tIHBhZ2UgZG90cyAtLS0tICovXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBNZWRpYSBJbnF1aXJpZXNcbnBhcnRpYWw6IG1lZGlhLWlucXVpcmllc1xuKi9cbi5tZWRpYS1pbnF1aXJpZXMtY29sdW1uOmxhc3QtY2hpbGQgaDQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QyZDJkMjtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaWEtaW5xdWlyaWVzLWNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QyZDJkMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgLm1lZGlhLWlucXVpcmllcy1jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH1cbiAgICAubWVkaWEtaW5xdWlyaWVzLWNvbHVtbjpsYXN0LWNoaWxkIGg0IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubWVkaWEtaW5xdWlyaWVzLWNvbHVtbiA+IC5yb3cuY29sdW1uLCAubWVkaWEtaW5xdWlyaWVzLWNvbHVtbiA+IC5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZWRpYS1pbnF1aXJpZXMtY29sdW1uID4gLnJvdy5jb2x1bW4sIC5tZWRpYS1pbnF1aXJpZXMtY29sdW1uID4gLnJvdy5jb2x1bW5zIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDJkMmQyO1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfSB9XG5cbkBrZXlmcmFtZXMgZGFzaCB7XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfSB9XG5cbi5vcm5hbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JuYW1lbnQtLW9mZnNldC10b3Age1xuICB0b3A6IDAuNTYyNXJlbTsgfVxuXG4ub3JuYW1lbnQtLW9mZnNldC1sZWZ0IHtcbiAgbGVmdDogMS44NzVyZW07IH1cblxuLm9ybmFtZW50LS1vZmZzZXQtcmlnaHQge1xuICByaWdodDogMS44NzVyZW07IH1cblxuLm9ybmFtZW50LS1vZmZzZXQtYm90dG9tIHtcbiAgYm90dG9tOiAwLjU2MjVyZW07IH1cblxuLm9ybmFtZW50X19saW5lIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiByZ2JhKDE0MywgMTQzLCAxNDMsIDAuMjUpO1xuICBzdHJva2UtZGFzaGFycmF5OiAzMTYxO1xuICBzdHJva2UtZGFzaG9mZnNldDogMzE2MTsgfVxuICAuaXMtaW4tdmlldyAub3JuYW1lbnRfX2xpbmUge1xuICAgIGFuaW1hdGlvbjogZGFzaCA0cyBsaW5lYXIgZm9yd2FyZHM7IH1cblxuLm9ybmFtZW5kLS1yb3RhdGVkLWxlZnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLm9ybmFtZW50LS1sZWZ0IHtcbiAgbGVmdDogLTExLjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlOyB9XG5cbi8qIFlBUExcbm5hbWU6IFBhZ2UgQ2FsbG91dHNcbnBhcnRpYWw6IHNnLXBhZ2UtY2FsbG91dHNcbnNlbGVjdG9yOiAucGFnZS1jYWxsb3V0c1xuKi9cbi5wYWdlLWNhbGxvdXRzX19jYWxsb3V0IHtcbiAgcGFkZGluZzogMS41NjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1jYWxsb3V0c19fY2FsbG91dCB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMy4xMjVyZW0gMy4xMjVyZW0gNi4yNXJlbTsgfSB9XG4gIC5wYWdlLWNhbGxvdXRzX19jYWxsb3V0IC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5wYWdlLWNhbGxvdXRzX19jYWxsb3V0IC5pY29uLS1wZGYge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIHRvcDogLTZweDtcbiAgICB3aWR0aDogMjdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBhZ2UtY2FsbG91dHNfX2NhbGxvdXQgLmljb24tLXBkZiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDsgfSB9XG5cbi5wYWdlLWNhbGxvdXRzX19idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWNhbGxvdXRzX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBQYWdlIFRlYXNlcnNcbnBhcnRpYWw6IHBhZ2UtdGVhc2Vyc1xuY29udGV4dDogcGFnZS10ZWFzZXJzLnNlY29uZGFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLnBhZ2UtdGVhc2Vyc1xuKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLXRlYXNlcnMgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qIFlBUExcclxubmFtZTogUGFnaW5hdGlvblxyXG5wYXJ0aWFsOiBwYWdpbmF0aW9uLWJvdHRvbS1zZWFyY2hcclxuc2VsZWN0b3I6IC5wYWdpbmF0aW9uLWJvdHRvbVxyXG4qL1xuLnBhZ2luYXRpb25fX2xpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI5ZmNlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAuMTg3NXJlbTtcbiAgd2lkdGg6IDIuNXJlbTsgfVxuICAucGFnaW5hdGlvbl9fbGluazpob3ZlciwgLnBhZ2luYXRpb25fX2xpbms6Zm9jdXMsIC5wYWdpbmF0aW9uX19saW5rLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTI4ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ucGFnaW5hdGlvbl9fbGlua3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhZ2luYXRpb25fX2xpbmtzIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG4ucGFnaW5hdGlvbl9fdGV4dC1saW5rIHtcbiAgY29sb3I6ICMyYjlmY2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDhweCk7IH1cbiAgLnBhZ2luYXRpb25fX3RleHQtbGluay5saW5rLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAucGFnaW5hdGlvbl9fdGV4dC1saW5rOmhvdmVyLCAucGFnaW5hdGlvbl9fdGV4dC1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNTI4ODsgfVxuICAucGFnaW5hdGlvbl9fdGV4dC1saW5rOjphZnRlciwgLnBhZ2luYXRpb25fX3RleHQtbGluazo6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wYWdpbmF0aW9uX190ZXh0LWxpbmstLW5leHQge1xuICByaWdodDogLTcwcHg7IH1cbiAgLnBhZ2luYXRpb25fX3RleHQtbGluay0tbmV4dDo6YWZ0ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnBhZ2luYXRpb24tc2VhcmNoIC5wYWdpbmF0aW9uX190ZXh0LWxpbmstLW5leHQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4ucGFnaW5hdGlvbl9fdGV4dC1saW5rLS1wcmV2IHtcbiAgbGVmdDogLTcwcHg7IH1cbiAgLnBhZ2luYXRpb25fX3RleHQtbGluay0tcHJldiAuaWNvbi5mYSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogcmlnaHQ7IH1cbiAgLnBhZ2luYXRpb24tc2VhcmNoIC5wYWdpbmF0aW9uX190ZXh0LWxpbmstLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLnBhZ2luYXRpb25fX3RleHQtbGluay0tcHJldjpob3ZlciAuaWNvbi5mYSwgLnBhZ2luYXRpb25fX3RleHQtbGluay0tcHJldjpmb2N1cyAuaWNvbi5mYSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMC4xODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uX192aWV3LWFsbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMmI5ZmNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLnBhZ2luYXRpb25fX3ZpZXctYWxsOjpiZWZvcmUsIC5wYWdpbmF0aW9uX192aWV3LWFsbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5wYWdpbmF0aW9uX192aWV3LWFsbDo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7IH1cbiAgLnBhZ2luYXRpb25fX3ZpZXctYWxsOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEzcHg7IH1cbiAgLnBhZ2luYXRpb25fX3ZpZXctYWxsOmhvdmVyLCAucGFnaW5hdGlvbl9fdmlldy1hbGw6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA1Mjg4OyB9XG5cbi5wYWdpbmF0aW9uX19lbGxpcHNpcyB7XG4gIG1hcmdpbjogMCA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMHB4OyB9XG5cbi5wYXBlci1jb250YWluZXIge1xuICBib3gtc2hhZG93OiAtMTdweCAxN3B4IDM4cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMjIpOyB9XG4gIC5wYXBlci1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS40Mzc1cmVtIDEuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnBhcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYXBlciAucGFwZXItY29ybmVyIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMzBweDsgfVxuICAgIC5wYXBlciAucGFwZXItY29ybmVyOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxLjg3NXJlbSAxLjg3NXJlbSAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYXBlciAucGFwZXItY29ybmVyLnBhcGVyLWNvcm5lci0tbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhcGVyLnBhcGVyLS1sYXJnZSAucGFwZXItY29ybmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFwZXItLW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNmODk4MWQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwOyB9XG4gIC5wYXBlci0tb3JhbmdlIC5wYXBlci1jb3JuZXI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFwZXItLW9yYW5nZSB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYXBlci0tb3JhbmdlIGxpIHtcbiAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cbiAgLnBhcGVyLS1vcmFuZ2UgYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAucGFwZXItLW9yYW5nZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYzIzYzMzOyB9XG5cbi5wYXBlci0tY29ubmVjdCB7XG4gIG1hcmdpbi10b3A6IDZweDsgfVxuXG4ucGlwZSB7XG4gIGNvbG9yOiAjYjNiM2IzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDAgMC4zMzMzM3JlbTsgfVxuICAucGlwZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnfCc7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5wbGF5ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBsYXllciAucGx5cl9fY29udHJvbHMsXG4gIC5wbGF5ZXIgLnBsYXllcl9fdmlkZW8ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogODByZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBsYXllciAucGxheWVyX192aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wbGF5ZXIgLnBseXJfX2NvbnRyb2xzIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnBsYXllciAucGxheWVyX19jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnBsYXllci5pcy1hY3RpdmUgLnBsYXllcl9fY292ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5wbGF5ZXIuaXMtYWN0aXZlIC5wbHlyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5wbGF5ZXIuaXMtYWN0aXZlIC5wbHlyX19jb250cm9scyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wbGF5ZXIucGxheWVyLS1yZXNpemUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLnBseXJfX2NvbnRyb2xzLFxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5wbGF5ZXJfX3ZpZGVvIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5wbGF5ZXItLWJhY2tncm91bmQge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cbiAgLnBsYXllci0tYmFja2dyb3VuZCAucGxheWVyX192aWRlbyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAucGxheWVyLS1iYWNrZ3JvdW5kLmlzLWFjdGl2ZSAucGxheWVyX192aWRlbyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4ucGxheWVyX19idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM3LCAzNywgMzcsIDAuNDUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4ICNmZWZlZmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogNC43NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjVzLCBvcGFjaXR5IC4zM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDQuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBsYXllcl9fYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lOiBub25lOyB9IH1cbiAgLmZlYXR1cmUtdGlsZXMgLnBsYXllcl9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNTI1OyB9XG4gIC5wbGF5ZXJfX2J1dHRvbjpob3ZlciwgLnBsYXllcl9fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDk1NDFlOyB9XG4gIC5pcy1yZWFkeSAucGxheWVyX19idXR0b24sXG4gIC5pcy1yZWFkeSB+ICogLnBsYXllcl9fYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmlzLWFjdGl2ZSAucGxheWVyX19idXR0b24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5wbGF5ZXJfX2J1dHRvbi0tY2VudGVyZWQge1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB6LWluZGV4OiAzOyB9XG5cbi5wbGF5ZXJfX2J1dHRvbi0tbGFyZ2Uge1xuICBoZWlnaHQ6IDkwcHg7XG4gIHdpZHRoOiA5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGxheWVyX19idXR0b24tLWxhcmdlIHtcbiAgICAgIGhlaWdodDogMTM3cHg7XG4gICAgICB3aWR0aDogMTM3cHg7IH0gfVxuXG4ucGxheWVyX192aWRlbyB7XG4gIGZsZXg6IDEgMSAxMDAlOyB9XG4gIC5wbGF5ZXJfX3ZpZGVvIGlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wbGF5ZXJfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwOyB9XG5cbi5wbHlyLS1yZWFkeSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ucGxheWVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vcGxheS1jaXJjbGUuc3ZnXCIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciAucGxheWVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vY2FtcGFpZ24tcGxheS5wbmdcIik7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuM3MgZWFzZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uY2FtcGFpZ24tbGFuZGluZ19fcGxheWVyIC5wbGF5ZXJfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDYuODc1cmVtO1xuICB3aWR0aDogNi44NzVyZW07IH1cbiAgLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciAucGxheWVyX19idXR0b246aG92ZXIsIC5jYW1wYWlnbi1sYW5kaW5nX19wbGF5ZXIgLnBsYXllcl9fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jYW1wYWlnbi1sYW5kaW5nX19wbGF5ZXIgLnBsYXllcl9fYnV0dG9uOmhvdmVyIC5wbGF5ZXJfX2ljb24sIC5jYW1wYWlnbi1sYW5kaW5nX19wbGF5ZXIgLnBsYXllcl9fYnV0dG9uOmZvY3VzIC5wbGF5ZXJfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vY2FtcGFpZ24tcGxheS0taG92ZXIucG5nXCIpOyB9XG5cbkBrZXlmcmFtZXMgcGx5ci1wcm9ncmVzcyB7XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNXB4IDA7IH0gfVxuXG4ucGx5ciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCAxMDAlO1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGhlaWdodDogMTAwJTsgfVxuICAucGx5cixcbiAgLnBseXIgKixcbiAgLnBseXIgKjo6YWZ0ZXIsXG4gIC5wbHlyICo6OmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAucGx5ciBhLCAucGx5ciBidXR0b24sIC5wbHlyIGlucHV0LCAucGx5ciBsYWJlbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgLnBseXI6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnBseXIgdmlkZW8sXG4gIC5wbHlyIGF1ZGlvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9XG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLCBib3JkZXIgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzQ5OGRiOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRodW1iIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UsIGJvcmRlciAuMnMgZWFzZSwgdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddLnRhYi1mb2N1czpmb2N1cyB7XG4gICAgICBvdXRsaW5lLW9mZnNldDogM3B4OyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNDk4ZGI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogIzM0OThkYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNDk4ZGI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG5cbi5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPSdyYW5nZSddLnRhYi1mb2N1czpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPSdyYW5nZSddLnRhYi1mb2N1czpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgcmdiYSg4NiwgOTMsIDEwMCwgMC41KTsgfVxuXG4ucGx5cl9fc3Itb25seSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDsgfVxuXG4ucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuXG4ucGx5ciAucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBseXIgdmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyX19jYXB0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnBseXJfX2NhcHRpb25zIHNwYW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG4gIC5wbHlyX19jYXB0aW9ucyBzcGFuOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbHlyLS1oaWRlLWNvbnRyb2xzIC5wbHlyX19jYXB0aW9ucyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLnBseXJfX2NhcHRpb25zIHtcbiAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4ucGx5ciA6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyX19jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBseXJfX2NvbnRyb2xzID4gYnV0dG9uLFxuICAucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzLFxuICAucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAucGx5cl9fY29udHJvbHMgPiBidXR0b246Zmlyc3QtY2hpbGQsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzczpmaXJzdC1jaGlsZCxcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX192b2x1bWUge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLnBseXJfX2NvbnRyb2xzIFtkYXRhLXBseXI9XCJwYXVzZVwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlLCBjb2xvciAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5wbHlyX19jb250cm9scyBidXR0b24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgICAucGx5cl9fY29udHJvbHMgYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4sXG4gIC5wbHlyX19jb250cm9scyAuaWNvbi0tbXV0ZWQsXG4gIC5wbHlyX19jb250cm9scyAuaWNvbi0tY2FwdGlvbnMtb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBseXJfX2NvbnRyb2xzID4gYnV0dG9uLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH1cblxuLnBseXItLWhpZGUtY29udHJvbHMgLnBseXJfX2NvbnRyb2xzIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogNTBweCAxMHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7IH1cbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLCAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzM0OThkYjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RiZTNlODtcbiAgY29sb3I6ICM1NjVENjQ7IH1cbiAgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLCAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzM0OThkYjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5cl9fcGxheS1sYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMzNDk4ZGI7XG4gIGJvcmRlcjogNHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgLnBseXJfX3BsYXktbGFyZ2Ugc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMnB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLnBseXJfX3BsYXktbGFyZ2U6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5wbHlyIC5wbHlyX19wbGF5LWxhcmdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wbHlyLS1hdWRpbyAucGx5cl9fcGxheS1sYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXItLXBsYXlpbmcgLnBseXJfX3BsYXktbGFyZ2Uge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBseXJfX2NvbnRyb2xzIFtkYXRhLXBseXI9J3BhdXNlJ10sXG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGxheSddIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGF1c2UnXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLmljb24tLWV4aXQtZnVsbHNjcmVlbixcbi5wbHlyLS1tdXRlZCAucGx5cl9fY29udHJvbHMgLmljb24tLW11dGVkLFxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY29udHJvbHMgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4gKyBzdmcsXG4gIC5wbHlyLS1tdXRlZCAucGx5cl9fY29udHJvbHMgLmljb24tLW11dGVkICsgc3ZnLFxuICAucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jb250cm9scyAuaWNvbi0tY2FwdGlvbnMtb24gKyBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXIgW2RhdGEtcGx5cj0nY2FwdGlvbnMnXSxcbi5wbHlyIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXItLWNhcHRpb25zLWVuYWJsZWQgW2RhdGEtcGx5cj0nY2FwdGlvbnMnXSxcbi5wbHlyLS1mdWxsc2NyZWVuLWVuYWJsZWQgW2RhdGEtcGx5cj0nZnVsbHNjcmVlbiddIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wbHlyX190b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDVweCA3LjVweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyAuMXMgZWFzZSwgb3BhY2l0eSAuMnMgLjFzIGVhc2U7IH1cbiAgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucGx5ciBidXR0b246aG92ZXIgLnBseXJfX3Rvb2x0aXAsXG4ucGx5ciBidXR0b24udGFiLWZvY3VzOmZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTsgfVxuXG4ucGx5ciBidXR0b246aG92ZXIgLnBseXJfX3Rvb2x0aXAge1xuICB6LWluZGV4OiAzOyB9XG5cbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbiAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNnB4OyB9XG5cbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cbiAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cblxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQudGFiLWZvY3VzOmZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSxcbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZC50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDE7IH1cbiAgLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXAge1xuICAgIGxlZnQ6IDA7IH1cblxuLnBseXIgLnBseXJfX3Byb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXG4ucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IC00cHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4OyB9XG4gIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhcixcbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5Ojotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUsXG4gIC5wbHlyX19wcm9ncmVzcy0tcGxheWVkOjotd2Via2l0LXByb2dyZXNzLXZhbHVlLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5Ojotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA4cHg7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1vei1wcm9ncmVzcy1iYXIsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA4cHg7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tcy1maWxsLFxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1zLWZpbGwsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tcy1maWxsIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbi5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogIzM0OThkYjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5OjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgbWluLXdpZHRoOiA4cHg7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1zLWZpbGwsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tcy1maWxsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7IH1cblxuLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7IH1cblxuLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tcy1maWxsIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7IH1cblxuLnBseXItLXZpZGVvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXItLXZpZGVvIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS1hdWRpbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcixcbi5wbHlyLS1hdWRpbyAucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxOTgsIDIxNCwgMjE5LCAwLjY3KTsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX3Byb2dyZXNzLS1idWZmZXIge1xuICBjb2xvcjogcmdiYSgxOTgsIDIxNCwgMjE5LCAwLjY3KTsgfVxuXG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGFuaW1hdGlvbjogcGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjVweCAyNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLCAwLCAwLCAwLjE1KSA1MCUsIHJnYmEoMCwgMCwgMCwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wbHlyLS12aWRlby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk4LCAyMTQsIDIxOSwgMC42Nyk7IH1cblxuLnBseXJfX3RpbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4ucGx5cl9fdGltZSArIC5wbHlyX190aW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGx5cl9fdGltZSArIC5wbHlyX190aW1lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wbHlyX190aW1lICsgLnBseXJfX3RpbWU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjA0NCc7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5wbHlyX192b2x1bWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyIC5wbHlyX192b2x1bWUge1xuICBmbGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBseXIgLnBseXJfX3ZvbHVtZSBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5wbHlyIC5wbHlyX192b2x1bWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGx5ciAucGx5cl9fdm9sdW1lIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7IH0gfVxuXG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWUsXG4ucGx5ci0taXMtaW9zIFtkYXRhLXBseXI9J211dGUnXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLnBseXJfX2NvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi8qIFlBUExcbm5hbWU6IFF1aWNrIExpbmtzXG5wYXJ0aWFsOiBxdWljay1saW5rc1xuY29udGV4dDogcXVpY2stbGlua3MucHJpbWFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLnF1aWNrLWxpbmtzXG4qL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnF1aWNrLWxpbmtzX190b3BpYyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1JSk7XG4gICAgdHJhbnNpdGlvbjogLjhzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gICAgLmlzLWluLXZpZXcgLnF1aWNrLWxpbmtzX190b3BpYyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAuaXMtaW4tdmlldyAucXVpY2stbGlua3NfX3RvcGljOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4yczsgfVxuICAgICAgLmlzLWluLXZpZXcgLnF1aWNrLWxpbmtzX190b3BpYzpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7IH0gfVxuXG4ucXVpY2stbGlua3NfX3RvcGljIGltZyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgd2lkdGg6IDcwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnF1aWNrLWxpbmtzX190b3BpYzpmaXJzdC1jaGlsZCBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLnF1aWNrLWxpbmtzX190b3BpYy1jb250ZW50IHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDM1cHg7IH1cblxuLnF1aWNrLWxpbmtzX190b3BpYy10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjNiM2IzO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cblxuLnF1aWNrLWxpbmtzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDA7IH1cblxuLyogWUFQTFxubmFtZTogUmVjb21tZW5kZWQgSXRlbXNcbnBhcnRpYWw6IHJlY29tbWVuZGVkLWl0ZW1zXG5jb250ZXh0OiByZWNvbW1lbmRlZC1pdGVtcy5ocDFcbnNlbGVjdG9yOiAucmVjb21tZW5kZWRfX2l0ZW1cbiovXG4ucmVjb21tZW5kZWRfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cbiAgLnJlY29tbWVuZGVkX19pdGVtIC5pY29uIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7IH1cbiAgLnJlY29tbWVuZGVkX19pdGVtIGg0LFxuICAucmVjb21tZW5kZWRfX2l0ZW0gLmg0IHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5yZWNvbW1lbmRlZF9faXRlbSAuYm9yZGVyZWQtLWdyZWVuIGg0LFxuICAucmVjb21tZW5kZWRfX2l0ZW0gLmJvcmRlcmVkLS1ncmVlbiBhIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTsgfVxuICAgIC5yZWNvbW1lbmRlZF9faXRlbSAuYm9yZGVyZWQtLWdyZWVuIGg0IC5ncmF5LFxuICAgIC5yZWNvbW1lbmRlZF9faXRlbSAuYm9yZGVyZWQtLWdyZWVuIGEgLmdyYXkge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cbiAgICAucmVjb21tZW5kZWRfX2l0ZW0gLmJvcmRlcmVkLS1ncmVlbiBoNDpob3ZlcixcbiAgICAucmVjb21tZW5kZWRfX2l0ZW0gLmJvcmRlcmVkLS1ncmVlbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTVhMDg5OyB9XG4gICAgICAubGluay0tbG9jayAucmVjb21tZW5kZWRfX2l0ZW0gLmJvcmRlcmVkLS1ncmVlbiBoNDpob3Zlcjo6YWZ0ZXIsIC5saW5rLS1sb2NrXG4gICAgICAucmVjb21tZW5kZWRfX2l0ZW0gLmJvcmRlcmVkLS1ncmVlbiBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gIC5yZWNvbW1lbmRlZF9faXRlbTpob3ZlciAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLnJlY29tbWVuZGVkX19pdGVtOmhvdmVyIC5ib3JkZXJlZC0tZ3JlZW4gaDQsXG4gIC5yZWNvbW1lbmRlZF9faXRlbTpob3ZlciAuYm9yZGVyZWQtLWdyZWVuIGEge1xuICAgIGNvbG9yOiAjMTVhMDg5OyB9XG4gIC5yZWNvbW1lbmRlZF9faXRlbTpob3ZlciAuYm9yZGVyZWQtLWdyZWVuIC5saW5rLS1sb2NrOjphZnRlciB7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLnJlY29tbWVuZGVkX19pdGVtIGg0LFxuICAgIC5yZWNvbW1lbmRlZF9faXRlbSAuaDQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLnJlY29tbWVuZGVkX19pdGVtIC5pY29uIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnJlY29tbWVuZGVkX19pdGVtLnJlY29tbWVuZGVkX19pdGVtLS1sb2NrZWQgLmhvdmVyLXJldmVhbCAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5yZWNvbW1lbmRlZF9faXRlbSBoNCxcbiAgICAucmVjb21tZW5kZWRfX2l0ZW0gLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgLndoYXRpbnB1dC10eXBlcy10b3VjaCAucmVjb21tZW5kZWRfX2l0ZW0ucmVjb21tZW5kZWRfX2l0ZW0tLWxvY2tlZCAuaG92ZXItcmV2ZWFsIC5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH0gfVxuICBbZGF0YS13aGF0aW50ZW50PSd0b3VjaCddIC5yZWNvbW1lbmRlZF9faXRlbS5yZWNvbW1lbmRlZF9faXRlbS0tbG9ja2VkIC5ob3Zlci1yZXZlYWwgLmhvdmVyLXJldmVhbF9faGlkZGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi8qIFlBUExcbm5hbWU6IFJlc291cmNlcyBDYWxsb3V0XG5wYXJ0aWFsOiByZXNvdXJjZXMtY2FsbG91dFxuY29udGV4dDogcmVzb3VyY2VzLWNhbGxvdXQucHJlc3Mta2l0XG5zZWxlY3RvcjogLnJlc291cmNlcy1jYWxsb3V0XG4qL1xuLnJlc291cmNlcy1jYWxsb3V0IC5saW5rLS1jb250YWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC41cmVtOyB9XG4gIC5yZXNvdXJjZXMtY2FsbG91dCAubGluay0tY29udGFjdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucmVzb3VyY2VzLWNhbGxvdXQgLmxpbmstLWNvbnRhY3QgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fcm93LWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LWxlZnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fcm93LXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1yaWdodCAuYnV0dG9uLmxpbmstLW1vcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LXJpZ2h0IC5idXR0b24ubGluay0tbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LXJpZ2h0IC5idXR0b24ubGluay0tbW9yZSAuZmEtbG9jayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgICAucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1yaWdodCAuYnV0dG9uLmxpbmstLW1vcmUgLmZhLWxvY2s6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJlc291cmNlcy1jYWxsb3V0X19yb3ctcmlnaHQgLnJlc291cmNlcy1jYWxsb3V0X19oZWFkZXJzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnJlc291cmNlcy1jYWxsb3V0X19yb3ctcmlnaHQgLnJlc291cmNlcy1jYWxsb3V0X19oZWFkZXJzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fcm93LWxlZnQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICBwYWRkaW5nOiAzLjEyNXJlbSAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LWxlZnQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICAgICAgcGFkZGluZzogNi4yNXJlbSAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LWxlZnQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICAgICAgbWF4LXdpZHRoOiA2NzVweDtcbiAgICAgIHBhZGRpbmc6IDcuNXJlbSAzLjc1cmVtOyB9IH1cblxuLnJlc291cmNlcy1jYWxsb3V0X19yb3ctcmlnaHQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICBwYWRkaW5nOiAzLjEyNXJlbSAyLjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnJlc291cmNlcy1jYWxsb3V0X19yb3ctcmlnaHQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICAgICAgcGFkZGluZzogMy4xMjVyZW0gMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJlc291cmNlcy1jYWxsb3V0X19yb3ctcmlnaHQgLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICAgICAgcGFkZGluZzogNC4zNzVyZW0gMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1yaWdodCAucmVzb3VyY2VzLWNhbGxvdXRfX2NvbHVtbiB7XG4gICAgICBtYXgtd2lkdGg6IDY3NXB4O1xuICAgICAgcGFkZGluZzogNS42MjVyZW0gMy43NXJlbTsgfSB9XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fdGV4dC1jb250YWluZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cblxuLnJlc291cmNlcy1jYWxsb3V0X19iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnJlc291cmNlcy1jYWxsb3V0X19kZXNjcmlwdGlvbi1jb250YWluZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVzb3VyY2VzLWNhbGxvdXRfX2Rlc2NyaXB0aW9uLWNvbnRhaW5lciBpbWcge1xuICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cblxuLnJ0Zi1jb250YWluZXIgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnJ0Zi1jb250YWluZXIgaDMge1xuICBjb2xvcjogI2Q5NTQxZTsgfVxuXG4ucnRmLWNvbnRhaW5lciAucnRmID4gKi5pY29uLCAucnRmLWNvbnRhaW5lciAucnRmID4gKjpvbmx5LWNoaWxkLCAucnRmLWNvbnRhaW5lciAucnRmID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnJ0Zi1jb250YWluZXIgLnJ0ZiBoMSxcbi5ydGYtY29udGFpbmVyIC5ydGYgPiBoMSxcbi5ydGYtY29udGFpbmVyIC5ydGYgaDIsXG4ucnRmLWNvbnRhaW5lciAucnRmID4gaDIsXG4ucnRmLWNvbnRhaW5lciAucnRmIGgzLFxuLnJ0Zi1jb250YWluZXIgLnJ0ZiA+IGgzLFxuLnJ0Zi1jb250YWluZXIgLnJ0ZiBoNCxcbi5ydGYtY29udGFpbmVyIC5ydGYgPiBoNCxcbi5ydGYtY29udGFpbmVyIC5ydGYgaDUsXG4ucnRmLWNvbnRhaW5lciAucnRmID4gaDUsXG4ucnRmLWNvbnRhaW5lciAucnRmIGg2LFxuLnJ0Zi1jb250YWluZXIgLnJ0ZiA+IGg2IHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG5cbi5ydGYtY29udGFpbmVyIC5ydGYgPiB1bCxcbi5ydGYtY29udGFpbmVyIC5ydGYgPiBvbCB7XG4gIG1hcmdpbjogMS41cmVtIDAgMS41cmVtIDEuNXJlbTsgfVxuXG4ucnRmLWNvbnRhaW5lciAucnRmLS10aWdodC1zcGFjZWQgPiAqIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5ydGYtY29udGFpbmVyIC5ydGYtLXRpZ2h0LXNwYWNlZCA+ICouaWNvbiwgLnJ0Zi1jb250YWluZXIgLnJ0Zi0tdGlnaHQtc3BhY2VkID4gKjpvbmx5LWNoaWxkLCAucnRmLWNvbnRhaW5lciAucnRmLS10aWdodC1zcGFjZWQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5ydGYtY29udGFpbmVyIC5jYXB0aW9uZWQtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnJ0Zi1jb250YWluZXIgLmNhcHRpb25lZC1pbWFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJ0Zi1jb250YWluZXIgLmNhcHRpb25lZC1pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDI2Ljg3NXJlbTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAucnRmLWNvbnRhaW5lciAuY2FwdGlvbmVkLWltYWdlICsgLnJ0ZiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTsgfVxuXG4ucnRmLWNvbnRhaW5lciBwLFxuLnJ0Zi1jb250YWluZXIgbGkge1xuICBmb250LWZhbWlseTogXCJhcm5vLXByb1wiLCBcIkJhc2tlcnZpbGxlXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ydGYtY29udGFpbmVyIHAsXG4gICAgLnJ0Zi1jb250YWluZXIgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLnJ0Zi1jb250YWluZXIgYSB7XG4gIGNvbG9yOiAjZDk1NDFlOyB9XG4gIC5ydGYtY29udGFpbmVyIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmOWFkNGE7IH1cbiAgLnJ0Zi1jb250YWluZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICM3MjEwMzE7IH1cblxuLnJ0Zi1jb250YWluZXIgdWwgdWwsXG4ucnRmLWNvbnRhaW5lciB1bCBvbCxcbi5ydGYtY29udGFpbmVyIG9sIHVsLFxuLnJ0Zi1jb250YWluZXIgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ydGYtY29udGFpbmVyIHVsLFxuICAucnRmLWNvbnRhaW5lciBvbCB7XG4gICAgbWF4LXdpZHRoOiA4NSU7IH0gfVxuXG4ucnRmLWNvbnRhaW5lciBsaSB7XG4gIG1hcmdpbjogLjVyZW0gMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucnRmLWNvbnRhaW5lciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucnRmLWNvbnRhaW5lciBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ydGYtY29udGFpbmVyIHVsID4gbGk6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZDk1NDFlO1xuICBjb250ZW50OiAnXFwyMDIyJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDsgfVxuXG4ucnRmLWNvbnRhaW5lciBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IHJ0Zi1vbDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5ydGYtY29udGFpbmVyIG9sID4gbGkge1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBydGYtb2w7IH1cbiAgICAucnRmLWNvbnRhaW5lciBvbCA+IGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihydGYtb2wpIFwiLlwiO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5ydGYtY29udGFpbmVyIG9sID4gbGkgPiBvbCB7XG4gICAgICBjb3VudGVyLXJlc2V0OiBydGYtb2w7IH1cbiAgICAgIC5ydGYtY29udGFpbmVyIG9sID4gbGkgPiBvbCA+IGxpIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHJ0Zi1vbDsgfVxuICAgICAgICAucnRmLWNvbnRhaW5lciBvbCA+IGxpID4gb2wgPiBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHJ0Zi1vbCwgbG93ZXItYWxwaGEpIFwiLlwiO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cblxuLnJ0Zi1jb250YWluZXIgdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5ydGYtY29udGFpbmVyIHRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ucnRmLWNvbnRhaW5lciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjNjMzM7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJmcmFua2xpbi1nb3RoaWMtdXJ3XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucnRmLWNvbnRhaW5lciB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E4MzQyYzsgfVxuXG4ucnRmLWNvbnRhaW5lciB0ZCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnJ0Zi1jb250YWluZXIgdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ucnRmLWNvbnRhaW5lciB0cjpudGgtY2hpbGQob2RkKSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLnJ0Zi1jb250YWluZXIgdHI6bnRoLWNoaWxkKG9kZCkgdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTsgfVxuXG4ucnRmLWNvbnRhaW5lciB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5ydGYtY29udGFpbmVyIHRyOm50aC1jaGlsZChldmVuKSB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbi5ydGYtY29udGFpbmVyIC50YWJsZV9fY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi8qIFlBUExcbm5hbWU6IFNlY3Rpb24gSGlnaGxpZ2h0c1xucGFydGlhbDogc2VjdGlvbi1oaWdobGlnaHRzXG5jb250ZXh0OiBzZWN0aW9uLWhpZ2hsaWdodHMuc2VjdGlvbi1sYW5kaW5nXG5zZWxlY3RvcjogLnNlY3Rpb24taGlnaGxpZ2h0c1xuKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zZWN0aW9uLWhpZ2hsaWdodHNfX2hpZ2hsaWdodC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICAuc2VjdGlvbi1oaWdobGlnaHRzX19oaWdobGlnaHQtY29udGFpbmVyOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuXG4uc2VjdGlvbi1oaWdobGlnaHRzX19idXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVyd1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zZWN0aW9uLWhpZ2hsaWdodHNfX2J1dHRvbiAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgd2lkdGg6IDQwcHg7IH1cblxuLnNlY3Rpb24taGlnaGxpZ2h0c19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfVxuXG4uc2VjdGlvbi1oaWdobGlnaHRzX19oaWdobGlnaHQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uc2VjdGlvbi1oaWdobGlnaHRzX190ZXh0IHtcbiAgZmxleC1ncm93OiAxOyB9XG5cbi8qIFlBUExcbm5hbWU6IFNlYXJjaCBSZXN1bHRzIC0gVGV4dFxucGFydGlhbDogc2VhcmNoLXJlc3VsdHNcbmNvbnRleHQ6IHNlYXJjaC1yZXN1bHRzLnNlYXJjaC1wYWdlXG5zZWxlY3RvcjogLnNlYXJjaC1yZXN1bHRzLS1zZWFyY2gtcGFnZVxuKi9cbi8qIFlBUExcbm5hbWU6IFNlYXJjaCBSZXN1bHRzIC0gSW1hZ2VcbnBhcnRpYWw6IHNlYXJjaC1yZXN1bHRzLWltYWdlLXRpbGVzXG5jb250ZXh0OiBzZWFyY2gtcmVzdWx0cy5maWx0ZXJhYmxlLWxpc3RcbnNlbGVjdG9yOiAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzXG4qL1xuLnNlYXJjaC1yZXN1bHRzX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzIC5zZWFyY2gtcmVzdWx0c19faXRlbSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW06aG92ZXIsIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMCUpO1xuICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxcHg7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IC5maWx0ZXJhYmxlLWxpbmstLWV4dGVybmFsOjphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgY29udGVudDogJ1xcZjA4ZSc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTZweDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQgYTpob3ZlcixcbiAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IGE6Zm9jdXMsXG4gIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCAuZmlsdGVyYWJsZS1saW5rLS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsXG4gIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCAuZmlsdGVyYWJsZS1saW5rLS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZjlhZDRhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHtcbiAgICAgIHdpZHRoOiAyMDAlOyB9IH1cblxuLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0LXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuZmx5b3V0X19jbG9zZSB7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTRweDtcbiAgdG9wOiAxNHB4O1xuICB3aWR0aDogMTRweDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzIC5mbHlvdXRfX2Nsb3NlIC5pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZShvZGQpIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgbGVmdDogMTIuNSU7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZShvZGQpIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQ6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMjIuNSUgLSAzMXB4KTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZShldmVuKSAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHtcbiAgICAgIGxlZnQ6IC04Ny41JTsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyOm50aC1vZi10eXBlKGV2ZW4pIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQ6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNzcuNSUgLSAzMXB4KTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQ6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMjIuNSUgLSAzMXB4KTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbi0xKSAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHtcbiAgICAgIGxlZnQ6IC02Mi41JTsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTEpIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQ6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzFweCk7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzIC5zZWFyY2gtcmVzdWx0c19faXRlbS1jb250YWluZXI6bnRoLW9mLXR5cGUoM24pIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgbGVmdDogLTEyNSU7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbikgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyg3Ny41JSAtIDMxcHgpOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4ge1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzIC5zZWFyY2gtcmVzdWx0c19faXRlbS1jb250YWluZXIuaXMtb3BlbiAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTQxZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDJyZW0gYXV0byAxLjVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgd2lkdGg6IDE3NSU7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy0taW1hZ2UtdGlsZXMgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRhaW5lci5pcy1vcGVuIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5OTkpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCAjZDk1NDFlO1xuICAgICAgICBib3JkZXItbGVmdDogMzFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTRweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCB7XG4gICAgICAgICAgd2lkdGg6IDIyNSU7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHMtLXNlYXJjaC1wYWdlIC5zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDI7XG4gIHBhZGRpbmc6IDMwcHggMjVweDtcbiAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIGJvcmRlcjsgfVxuICAuc2VhcmNoLXJlc3VsdHMtLXNlYXJjaC1wYWdlIC5zZWFyY2gtcmVzdWx0c19faXRlbTpob3ZlciwgLnNlYXJjaC1yZXN1bHRzLS1zZWFyY2gtcGFnZSAuc2VhcmNoLXJlc3VsdHNfX2l0ZW06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEuODc1cmVtIHJnYmEoMzcsIDM3LCAzNywgMC4yKTtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdHMtLXNlYXJjaC1wYWdlIC5zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy0tc2VhcmNoLXBhZ2UgLnNlYXJjaC1yZXN1bHRzX19pdGVtIC5saW5rLS1leHRlcm5hbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAgICAgLnNlYXJjaC1yZXN1bHRzLS1zZWFyY2gtcGFnZSAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0gLmxpbmstLWV4dGVybmFsOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIHRvcDogMjBweDsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0c19fY2F0ZWdvcnktc3dpdGNoZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDNweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0c19fY2F0ZWdvcnktc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NhdGVnb3J5LXN3aXRjaGVyLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogM3B4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzX19jYXRlZ29yeS1zd2l0Y2hlci1saW5rIHtcbiAgICAgIG1hcmdpbjogM3B4IDdweDsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0c19fY2F0ZWdvcnktc3dpdGNoZXItbGluazpob3ZlciwgLnNlYXJjaC1yZXN1bHRzX19jYXRlZ29yeS1zd2l0Y2hlci1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogI2Q5NTQxZTsgfVxuICAuc2VhcmNoLXJlc3VsdHNfX2NhdGVnb3J5LXN3aXRjaGVyLWxpbmsuaXMtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHNfX2NhdGVnb3J5LXN3aXRjaGVyLWxpbmsuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlYXJjaC1yZXN1bHRzX19jYXRlZ29yeS1zd2l0Y2hlci1saW5rOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0c19fY2F0ZWdvcnktc3dpdGNoZXItbGluazpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBZQVBMXG5uYW1lOiBTdGFmZiBTZWN0aW9uc1xucGFydGlhbDogc3RhZmYtc2VjdGlvbnNcbmNvbnRleHQ6IHN0YWZmLXNlY3Rpb25zLm1haW5cbnNlbGVjdG9yOiAuc3RhZmYtc2VjdGlvbnNcbiovXG4uc3RhZmYtc2VjdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gIC5zdGFmZi1zZWN0aW9ucyAuYWNjb3JkaW9uIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnN0YWZmLXNlY3Rpb25zIGEuYWNjb3JkaW9uLXRpdGxlOm5vdCguYnV0dG9uKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZWZlZmU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RhZmYtc2VjdGlvbnMgYS5hY2NvcmRpb24tdGl0bGU6bm90KC5idXR0b24pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICAuc3RhZmYtc2VjdGlvbnMgYS5hY2NvcmRpb24tdGl0bGU6bm90KC5idXR0b24pOmhvdmVyLCAuc3RhZmYtc2VjdGlvbnMgYS5hY2NvcmRpb24tdGl0bGU6bm90KC5idXR0b24pOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNjM3OWE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5zdGFmZi1zZWN0aW9ucyBhLmFjY29yZGlvbi10aXRsZTpub3QoLmJ1dHRvbik6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zdGFmZi1zZWN0aW9ucyBhLmFjY29yZGlvbi10aXRsZTpub3QoLmJ1dHRvbik6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAuc3RhZmYtc2VjdGlvbnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwNjgnOyB9XG4gIC5zdGFmZi1zZWN0aW9ucyAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICAuc3RhZmYtc2VjdGlvbnMgLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdGFmZi1zZWN0aW9ucyAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbTsgfSB9XG4gICAgLnN0YWZmLXNlY3Rpb25zIC5hY2NvcmRpb24tY29udGVudCA+IC5yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMmQyZDI7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuc3RhZmYtc2VjdGlvbnMgLmFjY29yZGlvbi1jb250ZW50ID4gLnJvdzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgICAgIC5zdGFmZi1zZWN0aW9ucyAuYWNjb3JkaW9uLWNvbnRlbnQgPiAucm93Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5zdGFmZi1zZWN0aW9ucyBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBoZWlnaHQ6IDk1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA5NXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdGFmZi1zZWN0aW9ucyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zdGFmZi1zZWN0aW9ucyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDE2NXB4O1xuICAgICAgICB3aWR0aDogMTY1cHg7IH0gfVxuXG4uc3BsYXNoLXNlYXJjaF9fZm9ybSAudHdpdHRlci10eXBlYWhlYWQge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnNwbGFzaC1zZWFyY2hfX2Zvcm0gLnR0LW1lbnUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2IzYjNiMztcbiAgYm94LXNoYWRvdzogMCAxLjI1cmVtIDIuNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMyk7XG4gIG1heC1oZWlnaHQ6IG5vbmU7IH1cblxuLnNwbGFzaC1zZWFyY2hfX2Zvcm0gLnN1Z2dlc3Rpb25zX19oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAyNXB4IDMwcHg7IH1cblxuLnNwbGFzaC1zZWFyY2hfX2Zvcm0gYTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzI1MjUyNTsgfVxuICAuc3BsYXNoLXNlYXJjaF9fZm9ybSBhOm5vdCguYnV0dG9uKTpob3ZlciwgLnNwbGFzaC1zZWFyY2hfX2Zvcm0gYTpub3QoLmJ1dHRvbik6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjUyNTI1OyB9XG5cbi5zcGxhc2gtc2VhcmNoX19mb3JtIC5zdWdnZXN0aW9uc19faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDMwcHg7XG4gIHBhZGRpbmc6IDI1cHggMDsgfVxuICAuc3BsYXNoLXNlYXJjaF9fZm9ybSAuc3VnZ2VzdGlvbnNfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnNwbGFzaC1zZWFyY2hfX2Zvcm0gLnN1Z2dlc3Rpb25zX19pdGVtIC5zdWdnZXN0aW9uX19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuc3BsYXNoLXNlYXJjaF9fZm9ybSAuc3VnZ2VzdGlvbnNfX2l0ZW06aG92ZXIgLnN1Z2dlc3Rpb25fX2l0ZW0tdGl0bGUsIC5zcGxhc2gtc2VhcmNoX19mb3JtIC5zdWdnZXN0aW9uc19faXRlbTpmb2N1cyAuc3VnZ2VzdGlvbl9faXRlbS10aXRsZSB7XG4gICAgY29sb3I6ICNjMjNjMzM7IH1cblxuLnNwbGFzaC1zZWFyY2hfX2Zvcm0gLnR0LXN1Z2dlc3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc3BsYXNoLXNlYXJjaF9fZm9ybSAuc3VnZ2VzdGlvbnNfX3RlYXNlciB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLyogWUFQTFxubmFtZTogU2VhcmNoIFJlc3VsdHMgU3RhdHVzIERpc3BsYXlcbnBhcnRpYWw6IHNlYXJjaC1yZXN1bHRzLXN0YXR1c1xuc2VsZWN0b3I6IC5zZXJhY2gtcmVzdWx0cy1zdGF0dXNcbiovXG4uc2VhcmNoLXJlc3VsdHMtc3RhdHVzX19jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnNlYXJjaC1yZXN1bHRzLXN0YXR1c19fdG9waWMge1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN0YXR1c19fdG9waWM6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNkOTU0MWU7XG4gICAgY29udGVudDogJ1xcZjA1Nyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTsgfVxuICAuc2VhcmNoLXJlc3VsdHMtc3RhdHVzX190b3BpYzpob3ZlciwgLnNlYXJjaC1yZXN1bHRzLXN0YXR1c19fdG9waWM6Zm9jdXMge1xuICAgIGNvbG9yOiAjZDk1NDFlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0cy1zdGF0dXNfX3RvcGljIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYyZjI7XG4gICAgICBwYWRkaW5nOiAxMXB4IDEzcHg7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdGF0dXNfX3RvcGljOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFNlY3Rpb24gTmF2aWdhdGlvblxucGFydGlhbDogc2VjdGlvbi1uYXZcbmNvbnRleHQ6IHNlY3Rpb24tbmF2LnNlY3Rpb24tbGFuZGluZ1xuc2VsZWN0b3I6IC5zZWN0aW9uLW5hdlxuKi9cbi5wcmltYXJ5LWxhbmRpbmctbmF2X19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnByaW1hcnktbGFuZGluZy1uYXZfX2l0ZW0ge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjYjNiM2IzO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMCAxLjMxMjVyZW0gMCAxLjE4NzVyZW07IH1cbiAgLnByaW1hcnktbGFuZGluZy1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnByaW1hcnktbGFuZGluZy1uYXZfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAucHJpbWFyeS1sYW5kaW5nLW5hdl9faXRlbSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBTaWRlYmFyXG5wYXJ0aWFsOiBzaWRlYmFyXG5zZWxlY3RvcjogLnNpZGViYXJcbiovXG4uc2lkZWJhciAuc29jaWFsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDAgMC42ODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaWRlYmFyIC5zb2NpYWwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuc2lkZWJhciAuY2lyY3VsYXIuZmEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAyLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpZGViYXIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgei1pbmRleDogNDsgfVxuICAgIC5zaWRlYmFyLmlzLXN0aWNreSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAxNTBweDsgfVxuICAgIC5zaWRlYmFyIC5zb2NpYWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAuc2lkZWJhciAuc29jaWFsX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zaWRlYmFyIC5jaXJjdWxhci5mYSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjA2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDIuMDYyNXJlbTsgfVxuICAgICAgLnNpZGViYXIgLmNpcmN1bGFyLmZhOm50aC1jaGlsZCgyKSwgLnNpZGViYXIgLmNpcmN1bGFyLmZhOm50aC1jaGlsZCg1KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuc2lkZWJhciAuY2lyY3VsYXIuZmE6bnRoLWNoaWxkKDQpLCAuc2lkZWJhciAuY2lyY3VsYXIuZmE6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLyogWUFQTFxubmFtZTogU2l0ZW1hcFxucGFydGlhbDogc2l0ZW1hcFxuY29udGV4dDogc2l0ZW1hcC5tYWluXG5zZWxlY3RvcjogLnNpdGVtYXBcbiovXG4uc2l0ZW1hcCAubGluay0tbW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaXRlbWFwIC5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAuNmVtO1xuICAgIHRvcDogLTFweDsgfVxuXG4uc2l0ZW1hcCAubGluay0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTsgfVxuXG4uc2l0ZW1hcCAubGluay0tZXh0ZXJuYWw6aG92ZXI6OmFmdGVyLCAuc2l0ZW1hcCAubGluay0tZXh0ZXJuYWw6Zm9jdXM6OmFmdGVyIHtcbiAgY29sb3I6ICNkOTU0MWU7IH1cblxuLnNpdGVtYXAgLmxpbmstLWV4dGVybmFsLW9yYW5nZTo6YWZ0ZXIge1xuICBjb2xvcjogI2Q5NTQxZTtcbiAgZm9udC1zaXplOiAuOWVtO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlOyB9XG5cbi5zaXRlbWFwIC5saW5rLS1leHRlcm5hbC1vcmFuZ2U6aG92ZXI6OmFmdGVyLCAuc2l0ZW1hcCAubGluay0tZXh0ZXJuYWwtb3JhbmdlOmZvY3VzOjphZnRlciB7XG4gIGNvbG9yOiAjYTAwZjM2OyB9XG5cbi5zaXRlbWFwIGEuaDQ6aG92ZXIge1xuICBjb2xvcjogI2Q5NTQxZTsgfVxuXG4uc2l0ZW1hcCBhLmg1OmhvdmVyIHtcbiAgY29sb3I6ICNhMDBmMzY7IH1cblxuLnNpdGVtYXAtc2VjdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAuc2l0ZW1hcC1zZWN0aW9uIGxpIHtcbiAgICBwYWRkaW5nOiAzcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2l0ZW1hcC1zZWN0aW9uIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOGY4ZjhmO1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaXRlbWFwLXNlY3Rpb24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuc2l0ZW1hcC1zZWN0aW9uIH4gLnNpdGVtYXAtc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOGY4ZjhmO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cblxuLnNpdGVtYXAtZWR1Y2F0b3JzIC5saW5rLS1vcmFuZ2Uge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5zaXRlbWFwLWVkdWNhdG9ycyB1bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuICAuc2l0ZW1hcC1lZHVjYXRvcnMgdWwgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6ICNkOTU0MWU7IH1cblxuLnNvY2lhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNvY2lhbCAuY2lyY3VsYXItLWljb24uZmEge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgd2lkdGg6IDIuNzVyZW07IH0gfVxuXG4uc29jaWFsLS1jb25uZWN0IHtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc29jaWFsLS1jb25uZWN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgIHdpZHRoOiA5LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNvY2lhbC0tY29ubmVjdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTsgfSB9XG5cbi5zb2NpYWwtLXJpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAwJTsgfVxuICAuc29jaWFsLS1yaWdodCAuY2lyY3VsYXItLWljb24uZmEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBoZWlnaHQ6IDIuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICBtYXJnaW46IDAgMC4xODc1cmVtO1xuICAgIHdpZHRoOiAyLjA2MjVyZW07IH1cbiAgICAuc29jaWFsLS1yaWdodCAuY2lyY3VsYXItLWljb24uZmE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNvY2lhbC0tcmlnaHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbi5zb2NpYWwtdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc29jaWFsLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zb2NpYWwtdGl0bGUge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBTbGlkZXIgLSBDYXJkc1xucGFydGlhbDogc2xpZGVyXG5jb250ZXh0OiBzbGlkZXIucHJlc3Mta2l0XG5zZWxlY3RvcjogLmN1c3RvbS1zbGlkZXItLWNhcmRzXG4qL1xuLyogWUFQTFxubmFtZTogU2xpZGVyIC0gSW1hZ2VcbnBhcnRpYWw6IGltYWdlLXNsaWRlclxuY29udGV4dDogaW1hZ2Utc2xpZGVyLnBvcnRsZXRcbnNlbGVjdG9yOiAuaW1hZ2Utc2xpZGVyXG4qL1xuLmN1c3RvbS1zbGlkZXIgLnNsaWRlcl9fY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogNDE1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3VzdG9tLXNsaWRlciAuc2xpZGVyX19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMi41cmVtIDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5jdXN0b20tc2xpZGVyIC5zbGlkZXJfX3RpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmN1c3RvbS1zbGlkZXIgLnNsaWRlcl9fdGl0bGU6OmJlZm9yZSwgLmN1c3RvbS1zbGlkZXIgLnNsaWRlcl9fdGl0bGU6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ZjhmOGY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTUlOyB9XG4gICAgLmN1c3RvbS1zbGlkZXIgLnNsaWRlcl9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAuY3VzdG9tLXNsaWRlciAuc2xpZGVyX190aXRsZTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgLmN1c3RvbS1zbGlkZXIgLnNsaWRlcl9fdGl0bGUtdGV4dCB7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuXG4uY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktc2xpZGUge1xuICBtYXJnaW46IDAgNCU7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktc2xpZGUge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXNsaWRlIC5zbGlkZXItdGV4dC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1zbGlkZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1zbGlkZSAuc2xpZGVyLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQtLWdyZWVuLWxpbWUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNnB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzgxYmMwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICAgICAgd2lkdGg6IDQwcHg7IH1cbiAgICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgxYmMwMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQuc3ZnXCIpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgLmN1c3RvbS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gICAgcmlnaHQ6IC0yMiU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICAgICAgICByaWdodDogLTE5JTsgfSB9XG4gIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICBsZWZ0OiAtMjIlO1xuICAgIHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICAgICAgbGVmdDogLTE5JTsgfSB9XG5cbi5jdXN0b20tc2xpZGVyIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBib3R0b206IC02LjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICAgIGJvdHRvbTogLTIuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7IH1cbiAgICAuY3VzdG9tLXNsaWRlciAuZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgxYmMwMDsgfVxuXG4uaW1hZ2Utc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuaW1hZ2Utc2xpZGVyIC5zbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5pbWFnZS1zbGlkZXIgLmZsaWNraXR5LXNsaWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuaW1hZ2Utc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9hcnJvdy1yaWdodC0tYmxhY2suc3ZnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogIzI1MjUyNTsgfVxuICAgIC5pbWFnZS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuaW1hZ2Utc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmltYWdlLXNsaWRlciAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7IH1cbiAgICAuaW1hZ2Utc2xpZGVyIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICAgICAgcmlnaHQ6IC0xMCU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMjBweCk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5pbWFnZS1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IC03JTsgfSB9XG4gICAgLmltYWdlLXNsaWRlciAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XG4gICAgICBsZWZ0OiAtMTAlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmltYWdlLXNsaWRlciAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XG4gICAgICAgICAgbGVmdDogLTclOyB9IH1cbiAgLmltYWdlLXNsaWRlciAuZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7IH1cbiAgLmltYWdlLXNsaWRlciAuY2FwdGlvbmVkLWltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pbWFnZS1zbGlkZXIgLmluLXZpZXctdHJpZ2dlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaW1hZ2Utc2xpZGVyIC5pbi12aWV3LXRyaWdnZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW1hZ2Utc2xpZGVyIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24ge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmltYWdlLXNsaWRlciAuaXMtaW4tdmlldyBmaWdjYXB0aW9uLmJhY2tncm91bmQtLWJsYWNrLWZhZGUtZm9yLW1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkuMzc1cmVtOyB9XG4gICAgICAgIC5pcy1pZSAuaW1hZ2Utc2xpZGVyIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24uYmFja2dyb3VuZC0tYmxhY2stZmFkZS1mb3ItbWVkaXVtIHtcbiAgICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgLmltYWdlLXNsaWRlciAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5pbi12aWV3LXRyaWdnZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlLXNsaWRlciAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAgIC5pbWFnZS1zbGlkZXIgLmlzLWluLXZpZXcgZmlnY2FwdGlvbiAuY2FwdGlvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgdG9wOiBhdXRvOyB9XG4gIC5pbWFnZS1zbGlkZXIgLmlzLXNlbGVjdGVkIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5pbWFnZS1zbGlkZXIgLmlzLXNlbGVjdGVkIC5pcy1pbi12aWV3IGZpZ2NhcHRpb24gLmNhcHRpb25fX3RleHQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgICAgLmltYWdlLXNsaWRlciAuaXMtc2VsZWN0ZWQgLmlzLWluLXZpZXcgZmlnY2FwdGlvbiAuY2FwdGlvbl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAxMCU7XG4gICAgICAgIGhlaWdodDogODAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaW1hZ2Utc2xpZGVyIC5pcy1zZWxlY3RlZCAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0OjpiZWZvcmUge1xuICAgICAgICAgIGJvdHRvbTogLTMwJTtcbiAgICAgICAgICBoZWlnaHQ6IDE2MCU7IH0gfVxuICAuaW1hZ2Utc2xpZGVyIC5pcy1zZWxlY3RlZCAuY2FwdGlvbl9fdGV4dCB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBIb21lcGFnZSBIZXJvIFZpZGVvXG5wYXJ0aWFsOiBzcGxhc2hcbmNvbnRleHQ6IHNwbGFzaC5ob21lLXRvcFxuc2VsZWN0b3I6IC5zcGxhc2gtLWhvbWVcbiovXG4vKiBZQVBMXG5uYW1lOiBIb21lcGFnZSBWaWRlbyBCYWNrZ3JvdW5kIEhlcm9cbnBhcnRpYWw6IHNwbGFzaFxuY29udGV4dDogc3BsYXNoLmhvbWUtYm90dG9tXG5zZWxlY3RvcjogLnNwbGFzaC0tYmctdmlkZW9cbiovXG4vKiBZQVBMXG5uYW1lOiBNYXN0ZXJzdWIgSGVybyAtIEltYWdlXG5wYXJ0aWFsOiBzcGxhc2gtc2Vjb25kYXJ5XG5jb250ZXh0OiBzcGxhc2gubXMtdG9wLWltYWdlXG5zZWxlY3RvcjogLnNwbGFzaC0tc2Vjb25kYXJ5XG4qL1xuLyogWUFQTFxubmFtZTogTWFzdGVyc3ViIEhlcm8gLSBObyBJbWFnZVxucGFydGlhbDogc3BsYXNoLXNlY29uZGFyeVxuY29udGV4dDogc3BsYXNoLm1zLXRvcC1ub2ltYWdlXG5zZWxlY3RvcjogLnNwbGFzaC0tc2Vjb25kYXJ5XG4qL1xuLyogWUFQTFxubmFtZTogU2VhcmNoIEhlcm9cbnBhcnRpYWw6IHNwbGFzaC1zZWFyY2hcbnNlbGVjdG9yOiAuc3BsYXNoLXNlYXJjaFxuKi9cbi5zcGxhc2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xMi41cmVtIDEyLjVyZW0gLTEyLjVyZW0gcmdiYSgzNywgMzcsIDM3LCAwLjYpO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbWluLWhlaWdodDogMjguMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgzNywgMzcsIDM3LCAwLjYpO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3BsYXNoIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMzLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMzc1cmVtOyB9IH1cbiAgLnNwbGFzaC5zcGxhc2gtLXZpZGVvIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjguMTI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWJvdHRvbSAuNXMgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogcGFkZGluZy1ib3R0b207IH1cbiAgICAuc3BsYXNoLnNwbGFzaC0tdmlkZW8gLnBsYXllci5pcy1hY3RpdmUgfiAuc3BsYXNoX190aXRsZSxcbiAgICAuc3BsYXNoLnNwbGFzaC0tdmlkZW8gLnBsYXllci5pcy1hY3RpdmUgfiAuc3BsYXNoX190ZXh0LFxuICAgIC5zcGxhc2guc3BsYXNoLS12aWRlbyAucGxheWVyLmlzLWFjdGl2ZSB+IC5zcGxhc2hfX3NjcmltIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5zcGxhc2guc3BsYXNoLS12aWRlbyAucGxheWVyLmlzLWFjdGl2ZSB+IC5zcGxhc2hfX3JvdyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3BsYXNoLnNwbGFzaC0tdmlkZW8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzMuNzVyZW07IH0gfVxuICAuc3BsYXNoLnNwbGFzaC0tbm8taGVybyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwZjQ3NzUgNzAlLCAjMGMzZDY4KTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zcGxhc2guc3BsYXNoLS1uby1oZXJvIHtcbiAgICAgICAgbWluLWhlaWdodDogMDsgfSB9XG5cbi5zcGxhc2hfX3JvdyB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgZWFzZTsgfVxuICAuc3BsYXNoX19yb3cuY29sdW1uLCAuc3BsYXNoX19yb3cuY29sdW1ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuc3BsYXNoLS12aWRlby5zcGxhc2gtLW5vLWhlcm8gLnNwbGFzaF9fcm93IHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLnNwbGFzaF9fdGV4dCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcbiAgei1pbmRleDogMzsgfVxuXG4uc3BsYXNoX190aXRsZSB7XG4gIG1hcmdpbjogN3JlbSAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zcGxhc2hfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICBtYXJnaW46IDRyZW0gMCAwOyB9IH1cbiAgLnNwbGFzaC0tdmlkZW8uc3BsYXNoLS1ob21lIC5zcGxhc2hfX3RpdGxlIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogNXJlbSAwIDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlOyB9XG4gIC5zcGxhc2gtLW5vLWhlcm8gLnNwbGFzaF9fdGl0bGUge1xuICAgIG1hcmdpbjogM3JlbSAwIDA7IH1cblxuLnNwbGFzaF9fc3VidGl0bGUge1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3BsYXNoX19jcmVkaXQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3BsYXNoX19zY3JpbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzcsIDM3LCAzNywgMC43KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNwbGFzaCAucGx5ciAucGx5cl9fdmlkZW8tZW1iZWQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zcGxhc2gtLWJnLXZpZGVvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc3BsYXNoLS1zZWNvbmRhcnkgLnNwbGFzaF9fcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5zcGxhc2gtLW5vLWltYWdlIHtcbiAgbWluLWhlaWdodDogMTEuMjVyZW07IH1cbiAgLnNwbGFzaC0tbm8taW1hZ2Uuc3BsYXNoLS12aWRlbyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDExLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zcGxhc2gtLW5vLWltYWdlLnNwbGFzaC0tdmlkZW8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfSB9XG5cbi5zcGxhc2gtc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zcGxhc2gtc2VhcmNoOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTk5OSk7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDM2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAzNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDE3cHggc29saWQgIzg0MTI2YTtcbiAgICBib3R0b206IC0xN3B4O1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzZweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zcGxhc2gtc2VhcmNoX19mb3JtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDMuMTI1cmVtIHJnYmEoMzcsIDM3LCAzNywgMC4zKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNwbGFzaC1zZWFyY2hfX2Zvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNwbGFzaC1zZWFyY2hfX2Zvcm0gLmJ1dHRvbiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxcmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zcGxhc2gtc2VhcmNoX19mb3JtIGlucHV0W3R5cGU9J3RleHQnXS5zcGxhc2gtc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gIC5zcGxhc2gtc2VhcmNoX19mb3JtOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjYjNiM2IzO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5zcGxhc2gtc2VhcmNoX19mb3JtIGlucHV0W3R5cGU9J3RleHQnXS5zcGxhc2gtc2VhcmNoX19pbnB1dCB7XG4gICAgY29sb3I6ICMyNTI1MjU7XG4gICAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVyd1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3BsYXNoLXNlYXJjaF9fZm9ybSAuYnV0dG9uIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuXG4uc3BsYXNoLS1jYW1wYWlnbiB7XG4gIG1pbi1oZWlnaHQ6IDI4LjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zcGxhc2gtLWNhbXBhaWduIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM3LjVyZW07IH0gfVxuICAuc3BsYXNoLS1jYW1wYWlnbiAuc3BsYXNoX190aXRsZSxcbiAgLnNwbGFzaC0tY2FtcGFpZ24gLnNwbGFzaF9fdGl0bGU6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gICAgdHJhbnNpdGlvbjogLjhzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIC5zcGxhc2gtLWNhbXBhaWduIC5zcGxhc2hfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJBbWF0aWMgU0NcIiwgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDYuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogOHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjNzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zcGxhc2gtLWNhbXBhaWduIC5zcGxhc2hfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVyZW07IH0gfVxuICAgIC5zcGxhc2gtLWNhbXBhaWduIC5zcGxhc2hfX3RpdGxlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2FtcGFpZ24tc3BsYXNoLWJvcmRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEyLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNDVzOyB9XG4gIC5zcGxhc2gtLWNhbXBhaWduLmlzLWluLXZpZXcgLnNwbGFzaF9fdGl0bGUsXG4gIC5zcGxhc2gtLWNhbXBhaWduLmlzLWluLXZpZXcgLnNwbGFzaF9fdGl0bGU6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBUZXN0aW1vbmlhbFxucGFydGlhbDogdGVzdGltb25pYWxcbmNvbnRleHQ6IHRlc3RpbW9uaWFscy5zZWN0aW9uLWxhbmRpbmdcbnNlbGVjdG9yOiAudGVzdGltb25pYWxcbiovXG4udGVzdGltb25pYWxfX3RleHQgcCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnRlc3RpbW9uaWFsX190ZXh0IGEge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGVzdGltb25pYWxfX3RleHQgLnRlc3RpbW9uaWFsX19pY29uIHtcbiAgaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDM3cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRlc3RpbW9uaWFsX190ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9XG4gICAgLnRlc3RpbW9uaWFsX190ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLnRlc3RpbW9uaWFsX19hdXRob3ItYmxvY2sge1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgI2EwMGYzNjtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19hdXRob3ItYmxvY2sge1xuICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjY4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9fYXV0aG9yLWJsb2NrIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2EwMGYzNjtcbiAgICAgIGhlaWdodDogMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMjkwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW0gMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9fYXV0aG9yLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDAgMi41cmVtIDAuNjI1cmVtOyB9IH1cblxuLnRlc3RpbW9uaWFsX19hdXRob3ItY3JlZGVudGlhbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudGVzdGltb25pYWxfX2F1dGhvci1kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMS44NzVyZW07IH0gfVxuXG4udGVzdGltb25pYWxfX2F1dGhvci1pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19hdXRob3ItaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMjAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwNXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSByZW0tY2FsYyg1MikpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2F1dGhvci1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcbiAgICAgIHdpZHRoOiAyMTBweDsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFRpbGUgTGlzdFxucGFydGlhbDogdGlsZS1saXN0XG5jb250ZXh0OiBsaXN0LWl0ZW1zLm5ld3Nyb29tXG5zZWxlY3RvcjogLnRpbGUtbGlzdFxuKi9cbi50aWxlLWxpc3RfX3Jlc3VsdHMtY291bnQge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnRpbGUtbGlzdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIC50aWxlLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlsZS1saXN0X19pdGVtOm50aC1jaGlsZCgtbiszKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnRpbGUtbGlzdF9faXRlbS5pcy1pbi12aWV3IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC50aWxlLWxpc3RfX2l0ZW0uaXMtaW4tdmlldzpudGgtY2hpbGQoM24tMSkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzOyB9XG4gICAgLnRpbGUtbGlzdF9faXRlbS5pcy1pbi12aWV3Om50aC1jaGlsZCgzbikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjRzOyB9XG5cbi50aWxlLWxpc3RfX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTUuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlsZS1saXN0X19saW5rIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI4LjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9IH1cbiAgLnRpbGUtbGlzdF9fbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmODk4MWQ7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGxlZnQ6IDI4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpOyB9XG4gIC50aWxlLWxpc3RfX2xpbmsgLmljb24tLXBkZiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vcGRmLS1vcmFuZ2UucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBib3R0b206IDQzcHg7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyOHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtaW1hZ2UgLjNzIGVhc2U7XG4gICAgd2lkdGg6IDIuMTg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGlsZS1saXN0X19saW5rIC5pY29uLS1wZGYge1xuICAgICAgICBib3R0b206IDU0cHg7XG4gICAgICAgIGhlaWdodDogMy4xODc1cmVtO1xuICAgICAgICByaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDIuNjI1cmVtOyB9IH1cbiAgLnRpbGUtbGlzdF9fbGluazpob3ZlciwgLnRpbGUtbGlzdF9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4OTgxZDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50aWxlLWxpc3RfX2xpbms6aG92ZXIgLnRpbGUtbGlzdF9faXRlbS1kYXRlLCAudGlsZS1saXN0X19saW5rOmZvY3VzIC50aWxlLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50aWxlLWxpc3RfX2xpbms6aG92ZXI6OmFmdGVyLCAudGlsZS1saXN0X19saW5rOmZvY3VzOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRpbGUtbGlzdF9fbGluazpob3ZlciAuaWNvbi0tcGRmLCAudGlsZS1saXN0X19saW5rOmZvY3VzIC5pY29uLS1wZGYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vcGRmLS13aGl0ZS5wbmdcIik7IH1cblxuLnRpbGUtbGlzdF9faXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpbGUtbGlzdF9faXRlbS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLWxpc3RfX2l0ZW0tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuLnRpbGUtbGlzdF9faXRlbS1kYXRlIHtcbiAgY29sb3I6ICNmODk4MWQ7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTsgfVxuXG4udGlsZS1saXN0LS1tYWdlbnRhLWRhcmsgLnRpbGUtbGlzdF9fbGluazpob3ZlciwgLnRpbGUtbGlzdC0tbWFnZW50YS1kYXJrIC50aWxlLWxpc3RfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODQxMjZhOyB9XG4gIC50aWxlLWxpc3QtLW1hZ2VudGEtZGFyayAudGlsZS1saXN0X19saW5rOmhvdmVyOjphZnRlciwgLnRpbGUtbGlzdC0tbWFnZW50YS1kYXJrIC50aWxlLWxpc3RfX2xpbms6Zm9jdXM6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi50aWxlLWxpc3QtLW1hZ2VudGEtZGFyayAudGlsZS1saXN0X19saW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NDEyNmE7IH1cblxuLnRpbGUtbGlzdC0tbWFnZW50YS1kYXJrIC50aWxlLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gIGNvbG9yOiAjODQxMjZhOyB9XG5cbi8qIFlBUExcbm5hbWU6IEFsbCBUb3BpY3MgTGlzdFxucGFydGlhbDogYWxsLXRvcGljcy1saXN0XG5jb250ZXh0OiB0b3BpY3MtbGlzdC5tYWluXG5zZWxlY3RvcjogLmFsbC10b3BpY3MtbGlzdFxuKi9cbi8qIFlBUExcbm5hbWU6IFJlbGF0ZWQgVG9waWNzXG5wYXJ0aWFsOiByZWxhdGVkLXRvcGljc1xuY29udGV4dDogdG9waWNzLWxpc3QucmVsYXRlZC10b3BpY3NcbnNlbGVjdG9yOiAucmVsYXRlZC10b3BpY3NcbiovXG4uYWxsLXRvcGljcy1saXN0IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5yZWxhdGVkLXRvcGljcyB7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIC5yZWxhdGVkLXRvcGljcyA+IC5yb3cge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi50b3BpY3NfX2xpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMS41cmVtIDEwcHggMS41cmVtIDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzLCAxcywgLjNzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cbiAgLnRvcGljc19fbGluay5pcy1pbi12aWV3IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFsbC10b3BpY3MtbGlzdCAudG9waWNzX19saW5rIHtcbiAgICAgIGZsZXg6IDAgMCA0NiU7XG4gICAgICBtYXgtd2lkdGg6IDQ2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmFsbC10b3BpY3MtbGlzdCAudG9waWNzX19saW5rOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZWxhdGVkLXRvcGljcyAudG9waWNzX19saW5rIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgLnRvcGljc19fbGluazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgei1pbmRleDogMTsgfVxuICAudG9waWNzX19saW5rIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC50b3BpY3NfX2xpbms6aG92ZXIsIC50b3BpY3NfX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU0MWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvcGljc19fbGluay5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAuNTVlbTtcbiAgICB0b3A6IC0wLjI1cmVtOyB9XG5cbi50d2l0dGVyLXR5cGVhaGVhZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50dC1tZW51IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogOC4xMjVyZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAudHQtbWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGJhY2tncm91bmQ6ICNiM2IzYjM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwLjI1cmVtOyB9XG4gIC50dC1tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTsgfVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudHQtc3VnZ2VzdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnR0LXN1Z2dlc3Rpb24udHQtY3Vyc29yLCAudHQtc3VnZ2VzdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzJiOWZjZTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaW5wdXQuanMtdHlwZWFoZWFkOm5vdCgja2V5d29yZCkge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAtMTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBWZW5kb3IgTGlzdFxucGFydGlhbDogc2ctdmVuZG9yLWxpc3RcbnNlbGVjdG9yOiAudmVuZG9yLWxpc3RcbiovXG4udmVuZG9yLWxpc3Qtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgLnZlbmRvci1saXN0LXNlY3Rpb24gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTglKTtcbiAgdHJhbnNpdGlvbjogLjhzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcy5pcy1pbi12aWV3IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMuY29sdW1uLnJvdy5yb3csIC52ZW5kb3ItbGlzdC1zZWN0aW9uLWl0ZW1zLnJvdy5yb3cuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXIge1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZShvZGQpIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXI6bnRoLW9mLXR5cGUoZXZlbikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICBsZWZ0OiBjYWxjKC0xMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gLjVyZW07IH1cbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXI6bnRoLW9mLXR5cGUoM24tMikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXI6bnRoLW9mLXR5cGUoM24tMSkgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgLSAxcmVtKTsgfVxuICAgICAgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTIwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXI6bnRoLW9mLXR5cGUoM24tMSkgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgLSAycmVtKTsgfVxuICAgICAgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTIwMCUgLSA0cmVtKTsgfSB9XG4gIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXIuaXMtb3BlbiB7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXIuaXMtb3BlbiAudmVuZG9yLWxpc3RfX2l0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTQxZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lci5pcy1vcGVuIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDEuNXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnZlbmRvci1saXN0X19pdGVtLWZseW91dDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTk5OSk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxNHB4IHNvbGlkICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDMxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMXB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xNHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgICAgcGFkZGluZzogMi41cmVtIDEuNXJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMDAlICsgMnJlbSk7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgICAgcGFkZGluZzogMy41cmVtIDIuNXJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygzMDAlICsgMnJlbSk7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyLmlzLW9wZW4gLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgICAgcGFkZGluZzogMy41cmVtIDIuNXJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygzMDAlICsgNHJlbSk7IH0gfVxuXG4udmVuZG9yLWxpc3RfX2l0ZW0tdGlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnZlbmRvci1saXN0X190aWxlLWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBsZWZ0OiAtMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzcmVtKTsgfVxuICAudmVuZG9yLWxpc3RfX3RpbGUtbGluazo6YWZ0ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY29udGVudDogJ1xcZjA1NCc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtaW5kZW50OiAycHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGNvbG9yO1xuICAgIHdpZHRoOiAzMnB4OyB9XG4gIC52ZW5kb3ItbGlzdF9fdGlsZS1saW5rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjlmY2U7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbGVmdDogMTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5pcy1vcGVuIC52ZW5kb3ItbGlzdF9fdGlsZS1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI5ZmNlOyB9XG4gICAgLmlzLW9wZW4gLnZlbmRvci1saXN0X190aWxlLWxpbms6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzJiOWZjZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgLnZlbmRvci1saXN0X190aWxlLWxpbms6aG92ZXIsIC52ZW5kb3ItbGlzdF9fdGlsZS1saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI5ZmNlOyB9XG4gICAgLnZlbmRvci1saXN0X190aWxlLWxpbms6aG92ZXI6OmFmdGVyLCAudmVuZG9yLWxpc3RfX3RpbGUtbGluazpmb2N1czo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMmI5ZmNlOyB9XG5cbi52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAlKTtcbiAgdHJhbnNpdGlvbjogLjVzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMXB4OyB9XG4gIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQgLmZseW91dF9fY2xvc2Uge1xuICAgIGhlaWdodDogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCAuZmx5b3V0X19jbG9zZSAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQgLmZseW91dF9fY2xvc2Uge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4OyB9IH1cbiAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCAubGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzc1cmVtOyB9XG4gICAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCAuYnV0dG9uIC5pY29uLmZhLWV4dGVybmFsLWxpbmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiAtMC42MjVyZW07XG4gICAgICB0b3A6IC0wLjE4NzVyZW07IH1cbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQgLmJ1dHRvbiAuaWNvbi5mYS1leHRlcm5hbC1saW5rOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udmVuZG9yLWxpc3QuYWNjb3JkaW9uLmN1c3RvbS1hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjMjUyNTI1O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVydy1jb25kXCIsIFwiSGVsdmV0aWNhIE5ldWUgQ29uZGVuc2VkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudmVuZG9yLWxpc3QuYWNjb3JkaW9uLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLnZlbmRvci1saXN0LmFjY29yZGlvbi5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAudmVuZG9yLWxpc3QuYWNjb3JkaW9uLmN1c3RvbS1hY2NvcmRpb24gLnZlbmRvci1saXN0LXNlY3Rpb24ge1xuICAgICAgbWFyZ2luOiAwIC41cmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC52ZW5kb3ItbGlzdC1zZWN0aW9uLWl0ZW1zIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAudmVuZG9yLWxpc3QuYWNjb3JkaW9uLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOWZjZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cndcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAudmVuZG9yLWxpc3QuYWNjb3JkaW9uLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2Nyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIC52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDY4JzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcyAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKDJuICsgMSkgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgbGVmdDogY2FsYygtNTAlIC0gMXJlbSk7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpsYXN0LWNoaWxkOm50aC1jaGlsZCgzbiArIDEpIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUgLSAxcmVtKTsgfVxuICAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcyAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKDVuKSAudmVuZG9yLWxpc3RfX2l0ZW0tZmx5b3V0IHtcbiAgICBsZWZ0OiBjYWxjKC0xNTAlIC0gMS41cmVtKTsgfVxuICAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcyAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyOm50aC1jaGlsZCg0bik6bnRoLWxhc3QtY2hpbGQoMm4pIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgIGxlZnQ6IGNhbGMoLTUwJSAtIC41cmVtKTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFZlbmRvciBTcG90bGlnaHRcbnBhcnRpYWw6IHZlbmRvci1zcG90bGlnaHRcbmNvbnRleHQ6IHZlbmRvci1zcG90bGlnaHQubWFya2V0cGxhY2VcbnNlbGVjdG9yOiAudmVuZG9yLXNwb3RsaWdodFxuKi9cbi8qIFlBUExcbm5hbWU6IFZlbmRvciBTcG90bGlnaHQgLSBTaG9ydFxucGFydGlhbDogdmVuZG9yLXNwb3RsaWdodFxuY29udGV4dDogdmVuZG9yLXNwb3RsaWdodC5wb3J0bGV0LXNob3J0XG5zZWxlY3RvcjogLnZlbmRvci1zcG90bGlnaHRcbiovXG4udmVuZG9yLXNwb3RsaWdodF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMnJlbSAwO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIC52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtIGltZyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmVuZG9yLXNwb3RsaWdodF9faXRlbSB7XG4gICAgICBtYXJnaW46IDNyZW0gMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlbmRvci1zcG90bGlnaHRfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAzcmVtIDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnZlbmRvci1zcG90bGlnaHQtLW5hcnJvdyAudmVuZG9yLXNwb3RsaWdodF9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG5cbi52ZW5kb3Itc3BvdGxpZ2h0LXNob3J0X19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVuZG9yLXNwb3RsaWdodC1zaG9ydF9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG5cbi52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudmVuZG9yLXNwb3RsaWdodF9faXRlbS1pbm5lciAuYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTlweCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAudmVuZG9yLXNwb3RsaWdodF9faXRlbS1pbm5lciAuYnV0dG9uIC5mYS1leHRlcm5hbC1saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgICAudmVuZG9yLXNwb3RsaWdodF9faXRlbS1pbm5lciAuYnV0dG9uIC5mYS1leHRlcm5hbC1saW5rOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtLWlubmVyIC5idXR0b24uYnV0dG9uLS1tYWdlbnRhLWRhcms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwMGQ0ZDsgfVxuICAgICAgLnZlbmRvci1zcG90bGlnaHRfX2l0ZW0taW5uZXIgLmJ1dHRvbi5idXR0b24tLW1hZ2VudGEtZGFyazpob3ZlciAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9hcnJvdy1yaWdodC0tbWFnZW50YS1kYXJrLWhvdmVyLnN2Z1wiKTsgfVxuICAgIC52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtLWlubmVyIC5idXR0b24uYnV0dG9uLS1yZWQtYnJpY2s6aG92ZXIgLmljb24tLWFycm93LXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9hcnJvdy1yaWdodC0tcmVkLWJyaWNrLWhvdmVyLnN2Z1wiKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnZlbmRvci1zcG90bGlnaHRfX2l0ZW0taW5uZXIgLmJ1dHRvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtLWlubmVyIC5saW5rLS1tb3JlOmhvdmVyIC5mYS1leHRlcm5hbC1saW5rIHtcbiAgICBsZWZ0OiAwOyB9XG5cbi8qIFlBUExcbm5hbWU6IENhbXBhaWduIEhlYWRlclxucGFydGlhbDogY2FtcGFpZ24taGVhZGVyXG5zZWxlY3RvcjogLmNhbXBhaWduLWhlYWRlclxuKi9cbi5jYW1wYWlnbi1oZWFkZXIge1xuICBoZWlnaHQ6IDcuODc1cmVtOyB9XG4gIC5jYW1wYWlnbi1oZWFkZXIgLnJvdyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYW1wYWlnbi1oZWFkZXIgLmhlYWRlcl9fYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgIC5jYW1wYWlnbi1oZWFkZXIgLmhlYWRlcl9fYm90dG9tID4gLnJvdyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgICAgICAgLmNhbXBhaWduLWhlYWRlciAuaGVhZGVyX19ib3R0b20gPiAucm93IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuY2FtcGFpZ24taGVhZGVyIC5oZWFkZXJfX2JvdHRvbSA+IC5yb3cge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLmNhbXBhaWduLWhlYWRlciAuYnV0dG9uLS1vcmFuZ2UtbGlnaHQge1xuICAgIGNvbG9yOiAjZDk1NDFlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmNhbXBhaWduLWhlYWRlciAuYnV0dG9uLS1vcmFuZ2UtbGlnaHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FtcGFpZ24taGVhZGVyIC5idXR0b24tLW9yYW5nZS1saWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTsgfSB9XG4gICAgLmNhbXBhaWduLWhlYWRlciAuYnV0dG9uLS1vcmFuZ2UtbGlnaHQ6aG92ZXIsIC5jYW1wYWlnbi1oZWFkZXIgLmJ1dHRvbi0tb3JhbmdlLWxpZ2h0OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIC5jYW1wYWlnbi1oZWFkZXIgLmNhbXBhaWduLWhlYWRlcl9fY3RhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAuY2FtcGFpZ24taGVhZGVyIC5jYW1wYWlnbi1oZWFkZXJfX2N0YSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBDYW1wYWlnbiBJbmZvZ3JhcGhpY1xucGFydGlhbDogY2FtcGFpZ24taW5mb2dyYXBoaWNcbmNvbnRleHQ6IGNhbXBhaWduLWluZm9ncmFwaGljLmNhbXBhaWduLWxhbmRpbmdcbnNlbGVjdG9yOiAuY2FtcGFpZ24taW5mb2dyYXBoaWNzXG4qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5jYW1wYWlnbi1pbmZvZ3JhcGhpYyAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW0ge1xuICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyOyB9XG4gICAgLmNhbXBhaWduLWluZm9ncmFwaGljIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmNhbXBhaWduLWluZm9ncmFwaGljIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbTpudGgtY2hpbGQoMm4tMSkge1xuICAgIGJvcmRlci1yaWdodDogMC4wNjI1cmVtIHNvbGlkICNkMmQyZDI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FtcGFpZ24taW5mb2dyYXBoaWMgLmNhbXBhaWduLWluZm9ncmFwaGljX19pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyOyB9XG4gICAgLmNhbXBhaWduLWluZm9ncmFwaGljIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNhbXBhaWduLWluZm9ncmFwaGljIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyOyB9XG4gIC5jYW1wYWlnbi1pbmZvZ3JhcGhpYyAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjA2MjVyZW0gc29saWQgI2QyZDJkMjsgfSB9XG5cbi5jYW1wYWlnbi1pbmZvZ3JhcGhpYyAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIC5jYW1wYWlnbi1pbmZvZ3JhcGhpYyAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzOyB9XG4gIC5jYW1wYWlnbi1pbmZvZ3JhcGhpYyAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7IH1cbiAgLmNhbXBhaWduLWluZm9ncmFwaGljIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbTpudGgtY2hpbGQoNCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IC40NXM7IH1cblxuLmNhbXBhaWduLWluZm9ncmFwaGljLmlzLWluLXZpZXcgLmNhbXBhaWduLWluZm9ncmFwaGljX19pdGVtIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi8qIFlBUExcbm5hbWU6IENhbXBhaWduIExhbmRpbmcgLSBNYWluIEZlYXR1cmVcbnBhcnRpYWw6IHNnLWNhbXBhaWduLWxhbmRpbmctbWFpblxuc2VsZWN0b3I6IC5jYW1wYWlnbi1sYW5kaW5nLW1haW5cbmNvbnRleHQ6IGNhbXBhaW5nLWxhbmRpbmdcbiovXG4uY2FtcGFpZ24tbGFuZGluZy1tYWluIC5jYW1wYWlnbi1sYW5kaW5nX190ZXh0LWNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmNhbXBhaWduLWxhbmRpbmctbWFpbiAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1ibG9jayB7XG4gIHBhZGRpbmc6IDIuNXJlbSAzLjEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IHRvcCAuNnMgZWFzZTsgfVxuXG4uY2FtcGFpZ24tbGFuZGluZy1tYWluIC5jYW1wYWlnbi1sYW5kaW5nX19pbWFnZS1ibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmlzLWllIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmNhbXBhaWduLWxhbmRpbmdfX2ltYWdlLWJsb2NrIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmxpbmstLW1vcmUge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FtcGFpZ24tbGFuZGluZy1tYWluIC5saW5rLS1tb3JlOmhvdmVyLCAuY2FtcGFpZ24tbGFuZGluZy1tYWluIC5saW5rLS1tb3JlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uY2FtcGFpZ24tbGFuZGluZy1tYWluIHAge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhbXBhaWduLWxhbmRpbmctbWFpbiAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1jYWxsb3V0LS10b3Age1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAuNnMgZWFzZTsgfVxuICAgIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmNhbXBhaWduLWxhbmRpbmdfX3RleHQtY2FsbG91dC0tdG9wIC5jYW1wYWlnbi1sYW5kaW5nX19pbWFnZS1ibG9jayB7XG4gICAgICBoZWlnaHQ6IDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTByZW07IH1cbiAgICAuY2FtcGFpZ24tbGFuZGluZy1tYWluIC5jYW1wYWlnbi1sYW5kaW5nX190ZXh0LWNhbGxvdXQtLXRvcCAubGluay0tbW9yZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTVyZW07XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciAuc3BsYXNoLS12aWRlbyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDAuNjI1cmVtOyB9XG4gIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4gLmNhbXBhaWduLWxhbmRpbmdfX3RleHQtY2FsbG91dC0tYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTByZW07XG4gICAgdHJhbnNpdGlvbjogLjZzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBtYXJnaW4tdG9wO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLmNhbXBhaWduLWxhbmRpbmctbWFpbi5pcy12aWRlby1zdGFydGVkIC5jYW1wYWlnbi1sYW5kaW5nX190ZXh0LWNhbGxvdXQtLXRvcCAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB0b3A6IC04cmVtOyB9XG4gIC5jYW1wYWlnbi1sYW5kaW5nLW1haW4uaXMtdmlkZW8tc3RhcnRlZCAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1jYWxsb3V0LS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgdG9wOiAtMnJlbTsgfVxuICAuaXMtaWUgLmNhbXBhaWduLWxhbmRpbmctbWFpbiAuY2FtcGFpZ24tbGFuZGluZ19faW1hZ2UtYmxvY2sgaW1nIHtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IENhbXBhaWduIFF1b3RlXG5wYXJ0aWFsOiBjYW1wYWlnbi1xdW90ZVxuY29udGV4dDogZmVhdHVyZWQtcXVvdGVzLmNhbXBhaWduLWxhbmRpbmdcbnNlbGVjdG9yOiAuY2FtcGFpZ24tcXVvdGVcbiovXG4uY2FtcGFpZ24tcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5jYW1wYWlnbi1xdW90ZSAuZmVhdHVyZWQtcXVvdGVfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2FtcGFpZ24tcXVvdGUgLmZlYXR1cmVkLXF1b3RlX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDMuNzVyZW0gMDsgfSB9XG4gIC5jYW1wYWlnbi1xdW90ZTo6YmVmb3JlLCAuY2FtcGFpZ24tcXVvdGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi9jYW1wYWlnbi1xdW90ZS0tdGVhbC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNS4xMjVyZW07XG4gICAgei1pbmRleDogMzsgfVxuICAuY2FtcGFpZ24tcXVvdGU6OmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA0MXB4KTtcbiAgICB0b3A6IC0xcmVtOyB9XG4gIC5jYW1wYWlnbi1xdW90ZTo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTFyZW07XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gNDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBDYW1wYWlnbiBJbWFnZSBGZWF0dXJlXG5wYXJ0aWFsOiBjYW1wYWlnbi1pbWFnZS1mZWF0dXJlXG5jb250ZXh0OiBjYW1wYWlnbi1pbWFnZXMuY2FtcGFpZ24tbGFuZGluZ1xuc2VsZWN0b3I6IC5jYW1wYWlnbi1pbWFnZS1mZWF0dXJlXG4qL1xuLmNhbXBhaWduLWltYWdlLWZlYXR1cmUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FtcGFpZ24taW1hZ2UtZmVhdHVyZSAuY2FtcGFpZ24taW1hZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogMS4yNXJlbSBzb2xpZCAjZjg5ODFkOyB9XG4gICAgLmNhbXBhaWduLWltYWdlLWZlYXR1cmUgLmNhbXBhaWduLWltYWdlX19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYW1wYWlnbi1pbWFnZS1mZWF0dXJlIC5jYW1wYWlnbi1pbWFnZV9fdGV4dC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDEuMjVyZW0gMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FtcGFpZ24taW1hZ2UtZmVhdHVyZSAuY2FtcGFpZ24taW1hZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogODAlOyB9XG4gICAgLmNhbXBhaWduLWltYWdlLWZlYXR1cmUgLmNhbXBhaWduLWltYWdlX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICBib3R0b206IDIuNXJlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMy4xMjVyZW0gMy4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MHB4KTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICAgIHRyYW5zaXRpb246IC42cyBlYXNlO1xuICAgICAgd2lkdGg6IDY1JTsgfVxuICAgICAgLmNhbXBhaWduLWltYWdlLWZlYXR1cmUgLmNhbXBhaWduLWltYWdlX190ZXh0LWNvbnRhaW5lci5pcy1pbi12aWV3IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jYW1wYWlnbi1pbWFnZS1mZWF0dXJlIC5jYW1wYWlnbi1pbWFnZV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA2NSU7IH1cbiAgICAuY2FtcGFpZ24taW1hZ2UtZmVhdHVyZSAuY2FtcGFpZ24taW1hZ2VfX3RleHQtY29udGFpbmVyIHtcbiAgICAgIGJvdHRvbTogNC42ODc1cmVtO1xuICAgICAgd2lkdGg6IDU1JTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBSb3dcbnBhcnRpYWw6IGJ1dHRvbi1yb3dcbmNvbnRleHQ6IGJ1dHRvbi1yb3dcbnNlbGVjdG9yOiAuYnV0dG9uLXJvd1xuKi9cbi5idXR0b24tcm93IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLXJvdyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi5sb2NhdGlvbnMge1xuICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb25zIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjkzNzVyZW07IH1cbiAgICAubG9jYXRpb25zIC5idXR0b24uYnV0dG9uLS1vcmFuZ2U6aG92ZXIsIC5sb2NhdGlvbnMgLmJ1dHRvbi5idXR0b24tLW9yYW5nZTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICNmODk4MWQ7IH1cbiAgLmxvY2F0aW9ucyAuYWNjcmVkaXRlZCAuZmEtbWFwLW1hcmtlciB7XG4gICAgY29sb3I6ICM4MWJjMDA7IH1cbiAgLmxvY2F0aW9ucyAuYWNjcmVkaXRlZC5tYXAtaW5mb3dpbmRvdy1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICM4MWJjMDA7IH1cbiAgLmxvY2F0aW9ucyAuYWNjcmVkaXRlZC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbS5pcy1zZWxlY3RlZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMzc1cmVtIHNvbGlkICM4MWJjMDA7IH1cbiAgLmxvY2F0aW9ucyAubm90LWFjY3JlZGl0ZWQgLmZhLW1hcC1tYXJrZXIge1xuICAgIGNvbG9yOiAjMmI5ZmNlOyB9XG4gIC5sb2NhdGlvbnMgLm5vdC1hY2NyZWRpdGVkLm1hcC1pbmZvd2luZG93LWNvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogIzJiOWZjZTsgfVxuICAubG9jYXRpb25zIC5ub3QtYWNjcmVkaXRlZC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbS5pcy1zZWxlY3RlZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMzc1cmVtIHNvbGlkICMyYjlmY2U7IH1cbiAgLmxvY2F0aW9ucyAub24tcGF0aHdheSAuZmEtbWFwLW1hcmtlciB7XG4gICAgY29sb3I6ICM4NDEyNmE7IH1cbiAgLmxvY2F0aW9ucyAub24tcGF0aHdheS5tYXAtaW5mb3dpbmRvdy1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICM4NDEyNmE7IH1cbiAgLmxvY2F0aW9ucyAub24tcGF0aHdheS5sb2NhdGlvbnMtcmVzdWx0c19faXRlbS5pcy1zZWxlY3RlZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMzc1cmVtIHNvbGlkICM4NDEyNmE7IH1cblxuLmxvY2F0aW9ucy1zZWFyY2gge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLmxvY2F0aW9ucy1zZWFyY2ggLmZpZWxkIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyOyB9XG4gIC5sb2NhdGlvbnMtc2VhcmNoIC5idXR0b24ge1xuICAgIGZsZXgtZ3JvdzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zLXNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuICAgICAgLmxvY2F0aW9ucy1zZWFyY2ggLmZpZWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubG9jYXRpb25zLXNlYXJjaCAuZmllbGQgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgd2lkdGg6IDQuNjg3NXJlbTsgfVxuICAgICAgICAubG9jYXRpb25zLXNlYXJjaCAuZmllbGQgLmxhYmVsLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zLXNlYXJjaCAuZmllbGQgKyAuYnV0dG9uIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMi41NjI1cmVtOyB9XG4gICAgICAubG9jYXRpb25zLXNlYXJjaCAuZmllbGQgKyAuYnV0dG9uIC5pY29uLmZhIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAubG9jYXRpb25zLXNlYXJjaCAuZmllbGQgKyAuYnV0dG9uIC5pY29uLmZhOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMC4xMjVyZW07IH0gfVxuICAubG9jYXRpb25zLXNlYXJjaCAuaW5wdXQtZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiA4LjQzNzVyZW07IH1cbiAgICAubG9jYXRpb25zLXNlYXJjaCAuaW5wdXQtZ3JvdXAgLmJ1dHRvbi5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0uMDVyZW07IH1cbiAgLmxvY2F0aW9ucy1zZWFyY2ggLmlucHV0LWdyb3VwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi5sb2NhdGlvbnMtcmVzdWx0cyB7XG4gIGhlaWdodDogY2FsYyg1MHZoIC0gNTBweCk7XG4gIG1heC1oZWlnaHQ6IDQzLjc1cmVtO1xuICBtaW4taGVpZ2h0OiAxMi41cmVtO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zLXJlc3VsdHMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvY2F0aW9ucy1yZXN1bHRzIHtcbiAgICAgIGJvcmRlci10b3A6IDAuNXJlbSBzb2xpZCAjZmVmZWZlO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTkwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC42cyBlYXNlOyB9XG4gICAgICAubG9jYXRpb25zLWZpbHRlci5pcy1zaG93aW5nLWZpbHRlcnMgfiAubG9jYXRpb25zLXJlc3VsdHMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmMGYyZjI7IH1cbiAgICAgICAgLmxvY2F0aW9ucy1maWx0ZXIuaXMtc2hvd2luZy1maWx0ZXJzIH4gLmxvY2F0aW9ucy1yZXN1bHRzIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxvY2F0aW9ucy1tYXAge1xuICBoZWlnaHQ6IGNhbGMoNTB2aCAtIDYwcHgpO1xuICBtYXgtaGVpZ2h0OiA0My43NXJlbTtcbiAgbWluLWhlaWdodDogMTIuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2NhdGlvbnMtbWFwIHtcbiAgICAgIGhlaWdodDogY2FsYyg5OXZoIC0gMTkxcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAubG9jYXRpb25zLW1hcCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTB2aCAtIDE5MHB4KTsgfSB9XG4gIC5sb2NhdGlvbnMtbWFwIC5sb2NhdGlvbnMtbWFwX19jYW52YXMge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmxvY2F0aW9ucy1tYXAgLmxvY2F0aW9ucy1tYXBfX2NhbnZhcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAubG9jYXRpb25zLW1hcCAuaW5mb0JveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5sb2NhdGlvbnMtbWFwIC5pbmZvQm94ID4gaW1nIHtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAubG9jYXRpb25zLW1hcCAuaW5mb0JveDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5OTkpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBib3JkZXItbGVmdDogMTcuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxNy41cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBsZWZ0OiAxN3B4O1xuICAgICAgdG9wOiAtMTBweDsgfVxuICAubG9jYXRpb25zLW1hcCAubWFwLWluZm93aW5kb3ctY29udGVudCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMzEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5sb2NhdGlvbnMtcmVzdWx0cyA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtcyB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuXG4ubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLCBib3gtc2hhZG93OyB9XG4gIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbTpob3ZlciwgLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDM3LCAzNywgMzcsIDAuMik7IH1cbiAgLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtIC5idXR0b24ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAwJTsgfVxuICAubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0gLmZhLW1hcC1tYXJrZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0wLjI1cmVtOyB9XG4gIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbSAubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0tY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbSAubG9jYXRpb25zLXJlc3VsdHNfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWF4LXdpZHRoOiA0LjM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgICAgLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtIC5sb2NhdGlvbnMtcmVzdWx0c19faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0gLmxvY2F0aW9ucy1yZXN1bHRzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtIC5sb2NhdGlvbnMtcmVzdWx0c19fdmlldy1tb3JlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjZDk1NDFlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cnctY29uZFwiLCBcIkhlbHZldGljYSBOZXVlIENvbmRlbnNlZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0gLmxvY2F0aW9ucy1yZXN1bHRzX192aWV3LW1vcmU6aG92ZXIsIC5sb2NhdGlvbnMtcmVzdWx0c19faXRlbSAubG9jYXRpb25zLXJlc3VsdHNfX3ZpZXctbW9yZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2Y4OTgxZDsgfSB9XG5cbi5sb2NhdGlvbnMtbWFwLWxlZ2VuZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC42MjVyZW0gMC44MTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvY2F0aW9ucy1tYXAtbGVnZW5kIHtcbiAgICAgIGhlaWdodDogNC40Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtOyB9IH1cbiAgLmxvY2F0aW9ucy1tYXAtbGVnZW5kIC5sb2NhdGlvbnMtbWFwX19rZXkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5sb2NhdGlvbnMtbWFwLWxlZ2VuZCAubG9jYXRpb25zLW1hcF9fa2V5IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmxvY2F0aW9ucy1tYXAtbGVnZW5kIC5sb2NhdGlvbnMtbWFwX19rZXk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxvY2F0aW9ucy1tYXAtbGVnZW5kIC5mYS1tYXAtbWFya2VyIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTsgfVxuXG4ubG9jYXRpb25zLS1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19idXR0b24tZ3JvdXAge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19jbGVhci1idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZpc2liaWxpdHksIG9wYWNpdHksIG1hcmdpbjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fY2xlYXItYnV0dG9uLmlzLWhpZGRlbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19ncm91cHMtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKSB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHZpc2liaWxpdHksIG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogNztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDEuODc1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfVxuICAgIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19ncm91cHMtY29udGFpbmVyLmlzLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2Nsb3NlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3Vwcy1pbm5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZmlsdGVyLWdyb3VwcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMmQyZDI7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19ncm91cC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZTsgfVxuICAgICAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwOmxhc3Qtb2YtdHlwZS5pcy1vcGVuIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwLmlzLW9wZW4gLmZpbHRlcnNfX2dyb3VwLWhlYWRlcjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZjA2OCc7IH1cbiAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAuaXMtb3BlbiAuZmlsdGVyc19fZ3JvdXAtc3RhdHVzIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAuaXMtb3BlbiAuZmlsdGVyc19fZ3JvdXAtaXRlbXMge1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgcGFkZGluZzogMTRweCAxNHB4IDE0cHggMzBweDsgfVxuICAgIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19ncm91cCAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAgLmZpbHRlcnNfX2dyb3VwLWhlYWRlciB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMyNTI1MjU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAgLmZpbHRlcnNfX2dyb3VwLWhlYWRlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMnB4OyB9XG4gICAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwIC5maWx0ZXJzX19ncm91cC1zdGF0dXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB2aXNpYmlsaXR5O1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAgLmZpbHRlcnNfX2dyb3VwLXN0YXR1cy5pcy1oaWRkZW4ge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwLWl0ZW1zIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgMTRweCAwIDMwcHg7XG4gICAgdHJhbnNpdGlvbjogLjVzIGVhc2UsIC43cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmc7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3Vwcy1pbm5lciB7XG4gICAgZmxleDogMCAwIDgwJTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19ncm91cC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMyNTI1MjU7IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3Vwcy1pbm5lciA+IC5maWx0ZXJzX19ncm91cC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNWEwODk7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMzM7IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2ZpbHRlci1ncm91cHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmxvY2F0aW9ucy1maWx0ZXIgLmZpbHRlcnNfX2dyb3VwLXN0YXR1cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubG9jYXRpb25zLWZpbHRlciAuZmlsdGVyc19fYnV0dG9uLWdyb3VwIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2QyZDJkMjsgfVxuICAgIC5sb2NhdGlvbnMtZmlsdGVyIC5maWx0ZXJzX19idXR0b24tZ3JvdXAgLmljb24tLWNsb3NlLWdyYXkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24vY2xvc2UtLXdoaXRlLnN2Z1wiKTsgfSB9XG5cbi5maW5kLXNjaG9vbC10ZXAtY29udGVudCBhIHtcbiAgY29sb3I6ICNkOTU0MWU7IH1cbiAgLmZpbmQtc2Nob29sLXRlcC1jb250ZW50IGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmOWFkNGE7IH1cbiAgLmZpbmQtc2Nob29sLXRlcC1jb250ZW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNzIxMDMxOyB9XG5cbi8qIFlBUExcbm5hbWU6IEZlYXR1cmVkIExvY2F0aW9uc1xucGFydGlhbDogZmVhdHVyZWQtbG9jYXRpb25zXG5jb250ZXh0OiBmZWF0dXJlZC1sb2NhdGlvbnMuZmluZC1hLXNjaG9vbFxuc2VsZWN0b3I6IC5mZWF0dXJlZC1sb2NhdGlvbnNcbiovXG4uZmVhdHVyZWQtbG9jYXRpb25zX19sb2NhdGlvbi1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmVhdHVyZWQtbG9jYXRpb25zX19sb2NhdGlvbi1jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgLmZlYXR1cmVkLWxvY2F0aW9uc19fbG9jYXRpb24tY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uZmVhdHVyZWQtbG9jYXRpb25zX19pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5mZWF0dXJlZC1sb2NhdGlvbnNfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiAxMi41cmVtOyB9IH1cblxuLmZlYXR1cmVkLWxvY2F0aW9uc19fdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAuZmVhdHVyZWQtbG9jYXRpb25zX190ZXh0LWNvbnRhaW5lciAubGluayB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICAuZmVhdHVyZWQtbG9jYXRpb25zX190ZXh0LWNvbnRhaW5lciAubGluazpob3ZlciwgLmZlYXR1cmVkLWxvY2F0aW9uc19fdGV4dC1jb250YWluZXIgLmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLyogWUFQTFxubmFtZTogUHJvZmlsZSBEZXRhaWxzXG5wYXJ0aWFsOiBzZy1wcm9maWxlLWRldGFpbHNcbmNvbnRleHQ6IHByb2ZpbGVzLnNjaG9vbC1wcm9maWxlXG5zZWxlY3RvcjogLnByb2ZpbGUtZGV0YWlsc1xuKi9cbi5wcm9maWxlLWRldGFpbHMgLnByb2ZpbGUtZGV0YWlsc19fcHJvZ3JhbS1ncm91cCB7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZDJkMmQyO1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wcm9maWxlLWRldGFpbHMgLnByb2ZpbGUtZGV0YWlsc19fZmFjdHMtZ3JvdXAge1xuICAgIGJvcmRlci1yaWdodDogMC4wNjI1cmVtIHNvbGlkICNkMmQyZDI7XG4gICAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtOyB9IH1cblxuLnByb2ZpbGUtZGV0YWlscyAucHJvZmlsZS1kZXRhaWxzX19mYWN0cy1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG5cbi5wcm9maWxlLWRldGFpbHMgLnByb2ZpbGUtZGV0YWlsc19fcHJvZ3JhbS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnByb2ZpbGUtZGV0YWlscyAucHJvZmlsZS1kZXRhaWxzX19wcm9ncmFtLWxpc3Qge1xuICAgICAgbWF4LWhlaWdodDogNy44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wcm9maWxlLWRldGFpbHMgLnByb2ZpbGUtZGV0YWlsc19fcHJvZ3JhbS1saXN0IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH0gfVxuICAucHJvZmlsZS1kZXRhaWxzIC5wcm9maWxlLWRldGFpbHNfX3Byb2dyYW0tbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnByb2ZpbGUtZGV0YWlscyAucHJvZmlsZS1kZXRhaWxzX19wcm9ncmFtLWxpc3QgbGkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnByb2ZpbGUtZGV0YWlscyAucHJvZmlsZS1kZXRhaWxzX19wcm9ncmFtLWxpc3QgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnByb2ZpbGUtZGV0YWlscyAucHJvZmlsZS1kZXRhaWxzX19wcm9ncmFtLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1NDFlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC41cmVtO1xuICAgICAgd2lkdGg6IDAuNXJlbTsgfVxuXG4ucHJvZmlsZS1kZXRhaWxzIC5wcm9maWxlLWRldGFpbHNfX3BhdGh3YXktaW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4ucHJvZmlsZS1kZXRhaWxzIC5wcm9maWxlLWRldGFpbHNfX3BhdGh3YXktZ3JvdXAge1xuICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI2QyZDJkMjtcbiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9maWxlLWRldGFpbHMgLnByb2ZpbGUtZGV0YWlsc19fcGF0aHdheS1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFByb2ZpbGUgQ29udGFjdCBEZXRhaWxzXG5wYXJ0aWFsOiBwcm9maWxlLWNvbnRhY3RcbmNvbnRleHQ6IGNvbnRhY3Quc2Nob29sLXByb2ZpbGVcbnNlbGVjdG9yOiAucHJvZmlsZS1jb250YWN0XG4qL1xuLnByb2ZpbGUtY29udGFjdCAucHJvZmlsZS1jb250YWN0X19sZWZ0IHtcbiAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZmlsZS1jb250YWN0IC5wcm9maWxlLWNvbnRhY3RfX2xlZnQge1xuICAgICAgcGFkZGluZzogMi41cmVtIDIuMTg3NXJlbSAyLjgxMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnByb2ZpbGUtY29udGFjdCAuc29jaWFsLS1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAucHJvZmlsZS1jb250YWN0IC5zb2NpYWwtLXJpZ2h0IC5mYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcm9maWxlLWNvbnRhY3QgLnByb2ZpbGUtY29udGFjdF9fY29udGFjdC1kZXRhaWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5wcm9maWxlLWNvbnRhY3QgLnByb2ZpbGUtY29udGFjdF9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDcuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHJvZmlsZS1jb250YWN0IC5wcm9maWxlLWNvbnRhY3RfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lOyB9IH1cbiAgLnByb2ZpbGUtY29udGFjdCAucHJvZmlsZS1jb250YWN0X19jb250YWN0LWRldGFpbHMgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5wcm9maWxlLWNvbnRhY3QgLnByb2ZpbGUtY29udGFjdF9fY29udGFjdC1kZXRhaWxzIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnByb2ZpbGUtY29udGFjdCAucHJvZmlsZS1jb250YWN0X19jb250YWN0LWRldGFpbHMgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnByb2ZpbGUtY29udGFjdCAucHJvZmlsZS1jb250YWN0X19jb250YWN0LWRldGFpbHMgbGkgLmljb24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucHJvZmlsZS1jb250YWN0IC5wcm9maWxlLWNvbnRhY3RfX3NvY2lhbC1yb3cge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5wcm9maWxlLWNvbnRhY3QgLnByb2ZpbGUtY29udGFjdF9fbWFwLWNvbnRhaW5lcixcbi5wcm9maWxlLWNvbnRhY3QgLnByb2ZpbGUtY29udGFjdF9fbWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMC42MjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFlBUExcbm5hbWU6IFNjaG9vbC9URVAgUHJvZmlsZSBJbmZvXG5wYXJ0aWFsOiBzZy1wcm9maWxlLWFib3V0XG5zZWxlY3RvcjogLnByb2ZpbGUtYWJvdXRcbiovXG4ucHJvZmlsZS1hYm91dCB7XG4gIHBhZGRpbmc6IDIuODEyNXJlbSAwOyB9XG5cbi5wcm9maWxlLWFib3V0X19pbWFnZS1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXgtd2lkdGg6IDE4Ljc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gIC5wcm9maWxlLWFib3V0X19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZmlsZS1hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBVcGNvbWluZyBFdmVudHNcbnBhcnRpYWw6IHNnLXVwY29taW5nLWV2ZW50c1xuc2VsZWN0b3I6IC51cGNvbWluZy1ldmVudHNcbiovXG4udXBjb21pbmctZXZlbnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAudXBjb21pbmctZXZlbnRzIC5pY29uLS1jYWxlbmRhciB7XG4gICAgaGVpZ2h0OiAxLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgd2lkdGg6IDIuMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnVwY29taW5nLWV2ZW50c19fY29udGFpbmVyOm50aC1jaGlsZCgybi0xKSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAudXBjb21pbmctZXZlbnRzX19jb250YWluZXI6bnRoLWNoaWxkKDJuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cblxuLnVwY29taW5nLWV2ZW50c19faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAyLjgxMjVyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgOnJvb3Qge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICBoZWFkZXIsXG4gIC5jb25mZXJlbmNlLXNlY29uZGFyeS1uYXYsXG4gIC5maWx0ZXJzLFxuICAuY29uZmVyZW5jZS1jYWxsb3V0cyxcbiAgLnNlYXJjaC1yZXN1bHRzX19jYXRlZ29yeS1zd2l0Y2hlci1saW5rOm5vdCguaXMtYWN0aXZlKSxcbiAgLnNvY2lhbCxcbiAgLmNvbmZlcmVuY2Utc2NoZWR1bGVfX25leHQtbGluayxcbiAgLnNlYXJjaC1yZXN1bHRzLXN0YXR1c19fdG9waWM6OmJlZm9yZSxcbiAgLmNvbmZlcmVuY2Utc2NoZWR1bGUgLmJ1dHRvbixcbiAgLmNvbmZlcmVuY2Utc2NoZWN1bGVfX2dyb3VwLWhlYWRlci10ZXh0IGltZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jb25mZXJlbmNlLXNjaGVkdWxlLWJhY2tncm91bmQge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29uZmVyZW5jZS1zY2hlZHVsZV9fZ3JvdXAtaG91cnMge1xuICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmJhY2tncm91bmQtLXBhZGRpbmctbGFyZ2Utc2lkZXMge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbmZlcmVuY2Utc3BsYXNoLnNwbGFzaC0tc2Vjb25kYXJ5IHtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNwbGFzaF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuY29uZmVyZW5jZS1zcGxhc2ggKyAudmVydGljYWwtbWFyZ2luLTIge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5jb25mZXJlbmNlLXNwbGFzaCArIC52ZXJ0aWNhbC1tYXJnaW4tMiArIC52ZXJ0aWNhbC1tYXJnaW4tMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNvbmZlcmVuY2UtaGVhZGVyICsgbWFpbiAucm93LnZlcnRpY2FsLW1hcmdpbi0yLmFsaWduLWNlbnRlciB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5jb25mZXJlbmNlLWhlYWRlciArIG1haW4gLnZlcnRpY2FsLW1hcmdpbi01Omxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbmZlcmVuY2UtaGVhZGVyICsgbWFpbiAucnRmLnZlcnRpY2FsLW1hcmdpbi0yLnJvdy5jb2x1bW4sIC5jb25mZXJlbmNlLWhlYWRlciArIG1haW4gLnJ0Zi52ZXJ0aWNhbC1tYXJnaW4tMi5yb3cuY29sdW1ucyB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5jb25mZXJlbmNlLXNjaGVkdWxlX19ncm91cC1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5jb25mZXJlbmNlLWZvb3RlciAuY29uZmVyZW5jZS1mb290ZXItY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDsgfVxuICAuY29uZmVyZW5jZS1mb290ZXItY29sdW1uOmZpcnN0LWNoaWxkIC52ZXJ0aWNhbC1tYXJnaW4tMi1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuY29uZmVyZW5jZS1mb290ZXJfX2xvZ28ge1xuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvYnJhbmQvbG9nby1sZy5zdmdcIikgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5jb25mZXJlbmNlLWZvb3Rlcl9fbG9nbzo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25mZXJlbmNlLWZvb3Rlcl9fbG9nbyBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBmb290ZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuLy8gc291cmNlIHNhbnMgcHJvIC0gYm9sZFxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Tb3VyY2UrU2FucytQcm86NzAwJyk7XG5cbkBpbXBvcnQgJ2Jhc2Uvc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY3NzLWNvbHVtbnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmVydGljYWwtcmh5dGhtO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbkBpbXBvcnQgJ2NvbW1vbic7XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nzcy1jb2x1bW5zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGlja2l0eSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jc3MtY29sdW1ucztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZlcnRpY2FsLXJoeXRobTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGlja2l0eTtcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBsZWFkaW5nLXplcm9cclxuXHJcbi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRm9ybXNcclxuLy8gIDIwLiBMYWJlbFxyXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjIuIE1lbnVcclxuLy8gIDIzLiBNZXRlclxyXG4vLyAgMjQuIE9mZi1jYW52YXNcclxuLy8gIDI1LiBPcmJpdFxyXG4vLyAgMjYuIFBhZ2luYXRpb25cclxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICAyOS4gUmV2ZWFsXHJcbi8vICAzMC4gU2xpZGVyXHJcbi8vICAzMS4gU3dpdGNoXHJcbi8vICAzMi4gVGFibGVcclxuLy8gIDMzLiBUYWJzXHJcbi8vICAzNC4gVGh1bWJuYWlsXHJcbi8vICAzNS4gVGl0bGUgQmFyXHJcbi8vICAzNi4gVG9vbHRpcFxyXG4vLyAgMzcuIFRvcCBCYXJcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTZweDtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTI4MCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuKTtcclxuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGxpZ2h0LWdyYXk6ICM4ZjhmOGY7XHJcbiRiYWNrZ3JvdW5kLWdyYXk6ICNmMGYyZjI7XHJcbiRibGFjazogIzI1MjUyNTtcclxuJGJsYWNrLXRydWU6ICMwMDA7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuXHJcbi8vIEFNUyBjb2xvcnNcclxuJG9yYW5nZS12ZXJ5LWxpZ2h0OiAjZmVmMGRkO1xyXG4kb3JhbmdlLXZlcnktcGFsZTogI2ZiYzE3NztcclxuJG9yYW5nZS1wYWxlOiAjZjlhZDRhO1xyXG4kb3JhbmdlLWxpZ2h0OiAjZjg5ODFkO1xyXG4kb3JhbmdlLW1lZGl1bTogI2YyOGIwMDtcclxuJG9yYW5nZS1kYXJrOiAjZDk1NDFlO1xyXG4kcmVkLWJyaWNrOiAjYzIzYzMzO1xyXG4kcmVkLWRhcms6ICM3MjEwMzE7XHJcbiRyZWQtbWlkOiAjYTAwZjM2O1xyXG4kbWFnZW50YS1wYWxlOiAjZWY2ZmRkO1xyXG4kbWFnZW50YS1saWdodDogI2I2Mzc5YTtcclxuJG1hZ2VudGEtZGFyazogIzg0MTI2YTtcclxuJG1hZ2VudGEtZGFyay1mZWF0dXJlOiAjNzcwZjVkO1xyXG4kYmx1ZS1uYXZ5OiAjMDAzNzY0O1xyXG4kYmx1ZS1zcGxhc2gtbWlkOiAjMGY0Nzc1O1xyXG4kYmx1ZS1zcGxhc2gtZGFyazogIzBjM2Q2ODtcclxuJGJsdWUtZGFyazogIzAwNTI4ODtcclxuJGJsdWUtZGFyay0yOiAjMDE1Mjg5O1xyXG4kYmx1ZS1kYXJrLWZlYXR1cmU6ICMwMDQ3N2E7XHJcbiRibHVlLWxpZ2h0OiAjMmI5ZmNlO1xyXG4kYmx1ZS1saWdodC1mZWF0dXJlOiAjMmI5ZmNlO1xyXG4kYmx1ZS1saWdodC1mZWF0dXJlLWhvdmVyOiAjMjU5M2M3O1xyXG4kYmx1ZS1icmVhZGNydW1iOiAjMTNiNWVhO1xyXG4kYmx1ZS1wYWxlOiAjNzFkM2YyO1xyXG4kZ3JlZW4tcGFsZTogI2EzZDE2NTtcclxuJGdyZWVuLWxpbWUtbGlnaHQ6ICM4Y2M2M2Y7XHJcbiRncmVlbi1saW1lOiAjODFiYzAwO1xyXG4kZ3JlZW4tdGVhbC1wYWxlOiAjZGNmMWVkO1xyXG4kZ3JlZW4tdGVhbDogIzE1YTA4OTtcclxuJGdyZWVuLXRlYWwtbWVkOiAjMGQ2MDVkO1xyXG4kZ3JlZW4tdGVhbC1kYXJrOiAjMTc0MjQ0O1xyXG4kZ3JlZW4tbWlkOiAjMDA3MDRhO1xyXG4kZ3JlZW4tZm9yZXN0OiAjMDA1NDM4O1xyXG4kZ3JheS1vZmZ3aGl0ZTogI2VjZWNlYztcclxuJGdyYXktbGlnaHQ6ICNkMmQyZDI7XHJcbiRncmF5LW1pZDogI2IzYjNiMztcclxuJGdyYXktc3RvbmU6ICM4MDgwODA7XHJcbiRncmF5LXNsYXRlOiAjNjY2O1xyXG4kZ3JheS1kYXJrOiAjNDQ0O1xyXG5cclxuLy8gU29jaWFsIGNvbG9yc1xyXG4kcmVkLXlvdXR1YmU6ICNjZDIwMWY7XHJcbiRibHVlLXR3aXR0ZXI6ICMyYjlmY2U7XHJcbiRibHVlLWZhY2Vib29rOiAjMDA1Mjg4O1xyXG5cclxuLy8gVGFibGUgY29sb3JzXHJcbiRyZWQtdGFibGU6ICNhODM0MmM7XHJcbiRncmF5LXRhYmxlLTE6ICNlOWU5ZTk7XHJcbiRncmF5LXRhYmxlLTI6ICNmNGY0ZjQ7XHJcblxyXG4vLyBDb25mZXJlbmNlIFNpdGUgQ29sb3JzXHJcbiRjb25mLWJsdWUtbGlnaHQ6ICNmODk4MWQ7XHJcbiRjb25mLWJsdWUtbWlkOiAjRjg5OTE5O1xyXG4kY29uZi1ibHVlLWRhcms6ICNGRkM4Mzc7XHJcbiRjb25mLWdyZWVuLW1pZDogI0ZGRkZGRjtcclxuJGNvbmYtZ3JlZW4tbGlnaHQ6ICMwMTUyODk7XHJcbiRjb25mLW9yYW5nZS1taWQ6ICMwMEFFRUY7XHJcbiRjb25mLW9yYW5nZTogI2Y4OTgxZDtcclxuJGNvbmYtb3JhbmdlLWxpZ2h0OiAjZjg5ODFkO1xyXG4kY29uZi1vcmFuZ2UtcGFsZTogI2ZjZDZhNTtcclxuJGNvbmYtYmx1ZS1yb2xsb3ZlcjogIzAwQUVFRjtcclxuJGNvbmYtYmx1ZXBhZ2UtbGlnaHQ6ICMwMEFFRUY7XHJcbiRjb25mLWJsdWVwYWdlLWRhcms6ICMwMTUyODk7XHJcblxyXG4vLyBGb250IGZhbWlsaWVzXHJcbiRmcmFua2xpbi1nb3RoaWM6ICdmcmFua2xpbi1nb3RoaWMtdXJ3JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZnJhbmtsaW4tZ290aGljLWNvbmQ6ICdmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQnLCAnSGVsdmV0aWNhIE5ldWUgQ29uZGVuc2VkJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYXJuby1wcm86ICdhcm5vLXBybycsICdCYXNrZXJ2aWxsZScsIHNlcmlmO1xyXG4kYW1hdGljOiAnQW1hdGljIFNDJywgY3Vyc2l2ZTtcclxuJGZvbnQtYXdlc29tZTogJ0ZvbnRBd2Vzb21lJztcclxuXHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYztcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LWxpZ2h0OiAzMDA7XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xyXG4kZ2xvYmFsLXdlaWdodC1tZWRpdW06IDUwMDtcclxuJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgcGhhYmxldDogNDgwcHgsXHJcbiAgbWVkaXVtOiA3NjhweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuICB4eHhsYXJnZTogMTkyMHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBwaGFibGV0IG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYy1jb25kO1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiA1MCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogNTBcclxuICAgICksXHJcbiAgICAnaDInOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAzOCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogNDRcclxuICAgICksXHJcbiAgICAnaDMnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAyOCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMzBcclxuICAgICksXHJcbiAgICAnaDQnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAyMixcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMjJcclxuICAgICksXHJcbiAgICAnaDUnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAxOCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMjRcclxuICAgICksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEyKVxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiA2MCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogNjRcclxuICAgICksXHJcbiAgICAnaDInOiAoXHJcbiAgICAgICdmb250LXNpemUnOiA0NCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogNDZcclxuICAgICksXHJcbiAgICAnaDMnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAzMCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMzJcclxuICAgICksXHJcbiAgICAnaDQnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAyNCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMjRcclxuICAgICksXHJcbiAgICAnaDUnOiAoXHJcbiAgICAgICdmb250LXNpemUnOiAxOCxcclxuICAgICAgJ2xpbmUtaGVpZ2h0JzogMjRcclxuICAgICksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE0KVxyXG4gICksXHJcbiAgbGFyZ2U6IChcclxuICAgICdoMSc6IChcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IDcwLFxyXG4gICAgICAnbGluZS1oZWlnaHQnOiA3MFxyXG4gICAgKSxcclxuICAgICdoMic6IChcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IDUwLFxyXG4gICAgICAnbGluZS1oZWlnaHQnOiA0OFxyXG4gICAgKSxcclxuICAgICdoMyc6IChcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IDMyLFxyXG4gICAgICAnbGluZS1oZWlnaHQnOiAzNVxyXG4gICAgKSxcclxuICAgICdoNCc6IChcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IDI2LFxyXG4gICAgICAnbGluZS1oZWlnaHQnOiAyNlxyXG4gICAgKSxcclxuICAgICdoNSc6IChcclxuICAgICAgJ2ZvbnQtc2l6ZSc6IDIwLFxyXG4gICAgICAnbGluZS1oZWlnaHQnOiAyNFxyXG4gICAgKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRvcmFuZ2UtZGFyaztcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAwO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDA7XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMDtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRvcmFuZ2UtZGFyaztcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAkcmVkLWJyaWNrO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiByZW0tY2FsYygxNiksXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNXMsIGNvbG9yIC41cztcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTkuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG4kZm9ybS1mb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYy1jb25kO1xyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIyLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XHJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjUuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNi4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyAyOS4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDMwLiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzEuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMyLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuXHJcbi8vIDMzLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1leHBhbmQtbWF4OiA2O1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDM0LiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDM1LiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMzYuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzcuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSBvciBicmVha3BvaW50IG5hbWUgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLy8gLmNvbHVtbi5yb3cucm93IHtcbiAgLy8gICBmbG9hdDogbm9uZTtcbiAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgLy8gfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cblxuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kLFxuICAgICAgICAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGRpcmVjdGlvbiBoZWxwZXIgY2xhc3Nlc1xuICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBjaGlsZCBoZWxwZXIgY2xhc3Nlc1xuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcywgXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgc2xhc2guXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbixcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBwcm9wZXJ0aWVzIGZvciBDU1MgY29sdW1uc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb3VudCAtIFRoZSBudW1iZXIgb2YgQ1NTIGNvbHVtbnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGdhcCAtIFRoZSBnYXAgYmV0d2VlbiBDU1MgY29sdW1uc1xuQG1peGluIGNzcy1jb2x1bW5zKFxuICAkY291bnQsXG4gICRnYXA6IDJyZW1cbikge1xuICBjb2x1bW4tZ2FwOiAkZ2FwO1xuICBjb2x1bW4tY291bnQ6ICRjb3VudDtcblxuICA+ICoge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlcyBDU1MgY29sdW1ucyBoZWxwZXIgY2xhc3NlcyAoYW5kIGV4dGVuZHMpIGZvciBhIGdpdmVuIGNvbHVtbiBjb3VudFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbJ2NvbC0nXSAtIFRoZSBiYXNlIG9mIHRoZSBjbGFzcyBuYW1lIGZvciBlYWNoIGNvbHVtbiBjb3VudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY291bnQgWzEyXSAtIFRoZSB0b3RhbCBudW1iZXIgb2YgY2xhc3NlcyAoY29sdW1uIGNvdW50cykgdG8gZ2VuZXJhdGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGdhcCBbMXJlbV0gLSBUaGUgZ2FwIGJldHdlZW4gQ1NTIGNvbHVtbnNcbkBtaXhpbiBjc3MtY29sdW1ucy1jbGFzc2VzKFxuICAkY2xhc3M6ICdjc3MtY29sdW1ucy0nLFxuICAkY291bnQ6IDZcbikge1xuICAlI3skY2xhc3MgKyAnMC0nICsgJC16Zi1zaXplfSxcbiAgLiN7JGNsYXNzICsgJzAtJyArICQtemYtc2l6ZX0sXG4gICUjeyRjbGFzcyArICcxLScgKyAkLXpmLXNpemV9LFxuICAuI3skY2xhc3MgKyAnMS0nICsgJC16Zi1zaXplfSB7XG4gICAgY29sdW1uLWdhcDogbm9ybWFsO1xuICAgIGNvbHVtbi1jb3VudDogYXV0bztcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGNvdW50IHtcbiAgICAlI3skY2xhc3MgKyAkaX0sXG4gICAgLiN7JGNsYXNzICsgJGl9IHtcbiAgICAgIEBpbmNsdWRlIGNzcy1jb2x1bW5zKCRpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KHRydWUpIHtcbiAgICAuI3skY2xhc3MgKyAnMC0nICsgJC16Zi1zaXplfSxcbiAgICAuI3skY2xhc3MgKyAnMS0nICsgJC16Zi1zaXplfSB7XG4gICAgICBjb2x1bW4tZ2FwOiBub3JtYWw7XG4gICAgICBjb2x1bW4tY291bnQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkY291bnQge1xuICAgICAgLiN7JGNsYXNzICsgJGkgKyAnLScgKyAkLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLWNvbHVtbnMoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jc3MtY29sdW1ucyB7XG4gIEBpbmNsdWRlIGNzcy1jb2x1bW5zLWNsYXNzZXMoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZTogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZSwgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1zaGFkb3cgaXMgc2V0LCBhZGQgaXQgYXMgYSBwc2V1ZG8tZWxlbWVudC5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLXNoYWRvdyB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG4gIH1cblxuICAvLyBObyB0cmFuc2Zvcm0gb24gb3ZlcmxhcCB0cmFuc2l0aW9uXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3Ncbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHZlcnRpY2FsLXJoeXRobVxuLy8vL1xuXG4vLy8gT3V0cHV0cyBhIGBtYXJnaW4tdG9wYCBvciBgcGFkZGluZy10b3BgIENTUyBwcm9wZXJ0eSBmb3IgdmVydGljYWwgc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtdWx0aXBsaWVyIFsxcmVtXSAtIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gbXVsdGlwbHkgdGhlIGJhc2UgaW5jcmVtZW50XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSBbJ21hcmdpbiddIC0gRGVzaWduYXRlcyB0aGUgQ1NTIHByb3BlcnR5IHRvIHVzZSBmb3Igc3BhY2luZzogZWl0aGVyIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaW5jcmVtZW50IFsxcmVtXSAtIFRoZSBiYXNlIGluY3JlbWVudCB0byBiZSBtdWx0aXBsaWVkXG5AbWl4aW4gdmVydGljYWwtcmh5dGhtKFxuICAkbXVsdGlwbGllcixcbiAgJHByb3BlcnR5OiAnbWFyZ2luJyxcbiAgJGluY3JlbWVudDogMXJlbSxcbiAgJGltcG9ydGFudDogZmFsc2Vcbikge1xuICBAaWYgKCRwcm9wZXJ0eSA9PSAnbWFyZ2luJykge1xuICAgIEBpZiAoJGltcG9ydGFudCkge1xuICAgICAgbWFyZ2luLXRvcDogI3skbXVsdGlwbGllciAqICRpbmNyZW1lbnR9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JG11bHRpcGxpZXIgKiAkaW5jcmVtZW50fTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRwcm9wZXJ0eSA9PSAncGFkZGluZycpIHtcbiAgICBAaWYgKCRpbXBvcnRhbnQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAjeyRtdWx0aXBsaWVyICogJGluY3JlbWVudH0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgcGFkZGluZy10b3A6ICN7JG11bHRpcGxpZXIgKiAkaW5jcmVtZW50fTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlcyB2ZXJ0aWNhbCBzcGFjaW5nIGhlbHBlciBjbGFzc2VzIChhbmQgZXh0ZW5kcykgaW4gaW5jcmVtZW50cyBhIGdpdmVuIG51bWJlciBvZiB0aW1lc1xuLy8vIENsYXNzZXMgaGF2ZSAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbJ3ZlcnRpY2FsLSddIC0gVGhlIGJhc2Ugb2YgdGhlIGNsYXNzIG5hbWUgZm9yIGVhY2ggaW5jcmVtZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb3VudCBbMTJdIC0gVGhlIHRvdGFsIG51bWJlciBvZiBjbGFzc2VzIChpbmNyZW1lbnRzKSB0byBnZW5lcmF0ZVxuQG1peGluIHZlcnRpY2FsLXJoeXRobS1jbGFzc2VzKFxuICAkY2xhc3M6ICd2ZXJ0aWNhbC0nLFxuICAkY291bnQ6IDEyXG4pIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY291bnQge1xuICAgIEBpZiAoJGkgPT0gMSkge1xuICAgICAgJSN7JGNsYXNzICsgJ21hcmdpbi1oYWxmJ30ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41KTtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsYXNzICsgJ21hcmdpbi1oYWxmJ30ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41LCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgJSN7JGNsYXNzICsgJ3BhZGRpbmctaGFsZid9IHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKDAuNSwgJ3BhZGRpbmcnKTtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsYXNzICsgJ3BhZGRpbmctaGFsZid9IHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKDAuNSwgJ3BhZGRpbmcnLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlI3skY2xhc3MgKyAnbWFyZ2luLScgKyAkaX0ge1xuICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKCRpKTtcbiAgICB9XG5cbiAgICAuI3skY2xhc3MgKyAnbWFyZ2luLScgKyAkaX0ge1xuICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKCRpLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG5cbiAgICAlI3skY2xhc3MgKyAncGFkZGluZy0nICsgJGl9IHtcbiAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgkaSwgJ3BhZGRpbmcnKTtcbiAgICB9XG5cbiAgICAuI3skY2xhc3MgKyAncGFkZGluZy0nICsgJGl9IHtcbiAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgkaSwgJ3BhZGRpbmcnLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KHRydWUpIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb3VudCB7XG4gICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgIC4jeyRjbGFzcyArICdtYXJnaW4taGFsZi0nICsgJGkgKyAnLScgKyAkLXpmLXNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41LCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRjbGFzcyArICdwYWRkaW5nLWhhbGYtJyArICRpICsgJy0nICsgJC16Zi1zaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKDAuNSwgJ3BhZGRpbmcnLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuI3skY2xhc3MgKyAnbWFyZ2luLScgKyAkaSArICctJyArICQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oJGksICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xhc3MgKyAncGFkZGluZy0nICsgJGkgKyAnLScgKyAkLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKCRpLCAncGFkZGluZycsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12ZXJ0aWNhbC1yaHl0aG0ge1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0tY2xhc3NlcygpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi5ncmF5IHtcbiAgY29sb3I6ICRncmF5LXNsYXRlO1xufVxuXG4uYmxhY2sge1xuICBjb2xvcjogJGJsYWNrO1xufVxuXG4ud2hpdGUge1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4ubGlnaHQtZ3JheSB7XG4gIGNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cblxuLm9yYW5nZSxcbi5vcmFuZ2UtZGFyayB7XG4gIGNvbG9yOiAkb3JhbmdlLWRhcms7XG59XG5cbi5ncmVlbi10ZWFsIHtcbiAgY29sb3I6ICRncmVlbi10ZWFsO1xufVxuXG4uYmx1ZS10d2l0dGVyIHtcbiAgY29sb3I6ICRibHVlLXR3aXR0ZXI7XG59XG5cbi50ZWFsIHtcbiAgY29sb3I6ICRncmVlbi10ZWFsO1xufVxuXG4uYmx1ZS1saWdodCB7XG4gIGNvbG9yOiAkYmx1ZS1saWdodDtcbn1cblxuLmJsdWUtbmF2eSB7XG4gIGNvbG9yOiAkYmx1ZS1uYXZ5O1xufVxuXG4ubWFnZW50YS1kYXJrIHtcbiAgY29sb3I6ICRtYWdlbnRhLWRhcms7XG59XG5cbi5yZWQtbWlkIHtcbiAgY29sb3I6ICRyZWQtbWlkO1xufVxuXG4uY29uZi1vcmFuZ2Uge1xuICBjb2xvcjogJGNvbmYtb3JhbmdlO1xufVxuIiwiLy8gVXNlZCBmb3IgZm9udCBzaXplcyBpbiBzcGVjaWZpYyBjb21wb25lbnRzXG4vLyB3aXRob3V0IHNwYWNpbmdcbkBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuXG4gICAgJSN7JGhlYWRlcn0sXG4gICAgLiN7JGhlYWRlcn0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lZnJhbmtsaW4tZ290aGljLFxuLmZyYW5rbGluLWdvdGhpYyB7XG4gIGZvbnQtZmFtaWx5OiAkZnJhbmtsaW4tZ290aGljO1xufVxuXG4lZnJhbmtsaW4tZ290aGljLWNvbmQsXG4uZnJhbmtsaW4tZ290aGljLWNvbmQge1xuICBmb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYy1jb25kO1xufVxuXG4lYXJuby1wcm8sXG4uYXJuby1wcm8ge1xuICBmb250LWZhbWlseTogJGFybm8tcHJvO1xufVxuXG5cbiVhbWF0aWMsXG4uYW1hdGljIHtcbiAgZm9udC1mYW1pbHk6ICRhbWF0aWM7XG59XG5cbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wIHtcbiAgbWFyZ2luOiAwO1xuXG59XG5cbnAge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLy8gICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgLy8gfVxufVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBvcGFjaXR5O1xufVxuXG4udGV4dC1ub3JtYWwge1xuICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xufVxuXG4udGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xufVxuXG4ud2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cblxuLndlaWdodC1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbn1cblxuLndlaWdodC1tZWRpdW0ge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xufVxuXG4ud2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG59XG5cbi53ZWlnaHQtbGlnaHQge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbGlnaHQ7XG59XG5cbi5pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiB0cmFja2luZygkdmFsdWUpIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICN7JHZhbHVlLzEwMDB9ZW07XG59XG5cbkBtaXhpbiB0cmFja2luZy1jbGFzc2VzKFxuICAkY2xhc3M6ICd0cmFja2luZy0nLFxuICAkY291bnQ6IDEwLFxuICAkaW5jcmVtZW50OiAxMFxuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkdmFsdWU6ICRpICogJGluY3JlbWVudDtcblxuICAgICUjeyRjbGFzc30jeyR2YWx1ZX0sXG4gICAgLiN7JGNsYXNzfSN7JHZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSB0cmFja2luZygkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4ldHJhY2tpbmctc21hbGwsXG4udHJhY2tpbmctc21hbGwge1xuICBAaW5jbHVkZSB0cmFja2luZyg2MCk7XG59XG5cbiV0cmFja2luZy1sYXJnZSxcbi50cmFja2luZy1sYXJnZSB7XG4gIEBpbmNsdWRlIHRyYWNraW5nKDgwKTtcbn1cblxuQGluY2x1ZGUgdHJhY2tpbmctY2xhc3NlcztcblxuJXVwcGVyY2FzZSxcbi51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGlnaHQtc3BhY2VkIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuLnNpbmdsZS1saW5lIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIGxpbmUtaGVpZ2h0LWNsYXNzZXMoXG4gICRjbGFzczogJ2xpbmUtaGVpZ2h0LScsXG4gICRjb3VudDogMTAsXG4gICRpbmNyZW1lbnQ6IC4xXG4pIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY291bnQge1xuICAgICR2YWx1ZTogMSArICRpICogJGluY3JlbWVudDtcblxuICAgICUjeyRjbGFzc30jeyRpfSxcbiAgICAuI3skY2xhc3N9I3skaX0ge1xuICAgICAgbGluZS1oZWlnaHQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbGluZS1oZWlnaHQtY2xhc3NlcztcblxuLy8gKiB7XG4vLyAgIEBleHRlbmQgJXRyYWNraW5nLTEwO1xuLy8gfVxuIiwiLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5mbGV4LS1jb2x1bW4ge1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xufVxuXG4uZmxleC0td3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5ndXR0ZXJzIHtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtcGFkZGluZztcbn1cblxuLmd1dHRlcnMtLWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiAoMiAqICRnbG9iYWwtcGFkZGluZyk7XG4gIHBhZGRpbmctcmlnaHQ6ICgyICogJGdsb2JhbC1wYWRkaW5nKTtcbn1cblxuLnBvc2l0aW9uZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi51LXZpc3VhbGx5aGlkZGVuLFxuJXUtdmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnUtdmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi51LXZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG59XG4iLCIucm93IHtcbiAgJi5yb3ctLWd1dHRlcnMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uaXMtaWUge1xuICAuaWUtZXhwYW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyAuc21hbGwtb3JkZXItMSB7XG4vLyAgIG9yZGVyOiAxO1xuLy8gfVxuXG4vLyAubWVkaXVtLW9yZGVyLTEge1xuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuLy8gICAgIG9yZGVyOiAxO1xuLy8gICB9XG4vLyB9XG5cbi8vIC5zbWFsbC1vcmRlci0yIHtcbi8vICAgb3JkZXI6IDI7XG4vLyB9XG5cbi8vIC5tZWRpdW0tb3JkZXItMiB7XG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4vLyAgICAgb3JkZXI6IDI7XG4vLyAgIH1cbi8vIH1cbiIsIi5pcy1oaWRkZW4tdGVtcG9yYXJpbHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXMtc2hvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1haW46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiQGtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDIwJSB7IHRyYW5zZm9ybTogcm90YXRlKDZkZWcpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICA2MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG59XG4iLCIuYm9yZGVyZWQge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNSk7XG4gICAgbWFyZ2luOiAwIGF1dG8gJGdsb2JhbC1tYXJnaW47XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG4uYm9yZGVyZWQtLWdyZWVuIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdGVhbDtcbiAgfVxufVxuIiwiLmNpcmN1bGFyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2lyY3VsYXItLWljb24ge1xuICAmLmZhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIG1hcmdpbjogMCAjeyRnbG9iYWwtbWFyZ2luIC8gNH07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDMpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG4gIH1cbn1cblxuLmNpcmN1bGFyLS1zb2NpYWwge1xuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuby1pbXBvcnRhbnRcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY2lyY3VsYXItLXR3aXR0ZXIge1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibHVlLXR3aXR0ZXI7XG4gIGNvbG9yOiAkYmx1ZS10d2l0dGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRibHVlLXR3aXR0ZXI7XG4gIH1cbn1cblxuLmNpcmN1bGFyLS1mYWNlYm9vayB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJGJsdWUtZmFjZWJvb2s7XG4gIGNvbG9yOiAkYmx1ZS1mYWNlYm9vaztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1mYWNlYm9vaztcbiAgfVxufVxuXG4uY2lyY3VsYXItLXlvdXR1YmUge1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRyZWQteW91dHViZTtcbiAgY29sb3I6ICRyZWQteW91dHViZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkLXlvdXR1YmU7XG4gIH1cbn1cblxuLmNpcmN1bGFyLS1saW5rZWRpbiB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJGdyZWVuLXRlYWw7XG4gIGNvbG9yOiAkZ3JlZW4tdGVhbDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdGVhbDtcbiAgfVxufVxuXG4uY2lyY3VsYXItLWluc3RhZ3JhbSB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgI0Q4NEZBOTtcbiAgY29sb3I6ICNEODRGQTk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI0Q4NEZBOTtcbiAgfVxufVxuXG4uY2lyY3VsYXItLXBpbnRlcmVzdCB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgI0REODA1ODtcbiAgY29sb3I6ICNERDgwNTg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI0REODA1ODtcbiAgfVxufVxuXG5cbi5jaXJjdWxhci0tcHJpbnQge1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRtYWdlbnRhLWRhcms7XG4gIGNvbG9yOiAkbWFnZW50YS1kYXJrO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRtYWdlbnRhLWRhcms7XG4gIH1cbn1cblxuLmNpcmN1bGFyLS1lbWFpbCB7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJG9yYW5nZS1tZWRpdW07XG4gIGNvbG9yOiAkb3JhbmdlLW1lZGl1bTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlLW1lZGl1bTtcbiAgfVxufVxuXG4uY2lyY3VsYXItLXdoaXRlIHtcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgbm8taW1wb3J0YW50XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICR3aGl0ZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTtcbn1cblxuYS5jaXJjdWxhci0td2hpdGUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAmLmNpcmN1bGFyLS10d2l0dGVyIHtcbiAgICAgIGNvbG9yOiAkYmx1ZS10d2l0dGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5jaXJjdWxhci0tZmFjZWJvb2sge1xuICAgICAgY29sb3I6ICRibHVlLWZhY2Vib29rICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5jaXJjdWxhci0teW91dHViZSB7XG4gICAgICBjb2xvcjogJHJlZC15b3V0dWJlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5jaXJjdWxhci0td2hpdGUtYm9yZGVyIHtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkd2hpdGU7XG59XG4iLCIub3JuYW1lbnRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ub3JuYW1lbnRlZC0tdG9wLWxlZnQge1xuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvb3JuYW1lbnQtLXRvcC1sZWZ0LnBuZycpO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgbGVmdDogI3stJGdsb2JhbC1tYXJnaW4gKiAzfTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGdsb2JhbC1tYXJnaW47XG4gICAgd2lkdGg6IDM3M3B4O1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cbi5vcm5hbWVudGVkLS10b3AtcmlnaHQge1xuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvb3JuYW1lbnQtLXRvcC1yaWdodC5wbmcnKTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICB0b3A6IC0yMXB4O1xuICAgIHdpZHRoOiAzNzVweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4ub3JuYW1lbnRlZC0tYm90dG9tIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL29ybmFtZW50LS1ib3R0b20ucG5nJyk7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAzNzNweDtcbiAgfVxuXG4gICYub3JuYW1lbnRlZC0tbGVmdCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuICAgIH1cbiAgfVxufVxuXG5cbi5vcm5hbWVudGVkLS1sZWZ0IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL29ybmFtZW50LS1ib3R0b20tbGVmdC5wbmcnKTtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG59XG4iLCIlc2hhZG93ZWQsXG4uc2hhZG93ZWQge1xuICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoNTApIHJnYmEoJGJsYWNrLCAuMyk7XG59XG5cbiVzaGFkb3dlZC0tbGlnaHQsXG4uc2hhZG93ZWQtLWxpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDUwKSByZ2JhKCRibGFjaywgLjE1KTtcbn1cblxuLnNoYWRvd2VkLWZvci1tZWRpdW0ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYyg1MCkgcmdiYSgkYmxhY2ssIC4zKTtcbiAgfVxufVxuXG4uc2hhZG93ZWQtZm9yLW1lZGl1bS0tbGlnaHQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYyg1MCkgcmdiYSgkYmxhY2ssIC4xNSk7XG4gIH1cbn1cblxuLnNoYWRvd2VkLWZvci1waGFibGV0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0KSB7XG4gICAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDUwKSByZ2JhKCRibGFjaywgLjMpO1xuICB9XG59XG5cbi5zaGFkb3dlZC1mb3ItcGhhYmxldC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoNTApIHJnYmEoJGJsYWNrLCAuMyk7XG4gIH1cbn1cblxuJXNoYWRvd2VkLS1zbWFsbCxcbi5zaGFkb3dlZC0tc21hbGwge1xuICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMzApIHJnYmEoJGJsYWNrLCAuNCk7XG59XG4iLCIlZmx5b3V0LFxuLmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG4iLCIuc2ctYm9keSB7XG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDgwMCk7XG4gIHBhZGRpbmctdG9wOiAwO1xuXG4gIC5zZy1saW5rIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgfVxuXG4gIC5zZy1ibG9ja19faGVhZGVyMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zZy1ibG9ja19faGVhZGVyMyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cblxuICAuc2ctYmxvY2tfX2xpc3QgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFsIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG59XG5cbi5zZy1idXR0b25zIHtcbiAgLmJ1dHRvbi0tbWFnZW50YS1saWdodC5ob2xsb3cge1xuICAgIGNvbG9yOiAkbWFnZW50YS1saWdodDtcbiAgfVxuXG4gIC5idXR0b24tLWdyZWVuLWxpbWUuaG9sbG93IHtcbiAgICBjb2xvcjogJGdyZWVuLWxpbWU7XG4gIH1cbn1cblxuLnNnLWNvbnRhaW4ge1xuICAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuY29uZmVyZW5jZS1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4iLCIuY3VzdG9tLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWUtZGFyaztcbiAgICBjb2xvcjogJGJsdWUtZGFyaztcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlICYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogLjVyZW0gMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlLWRhcms7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLWRldGFpbHMge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG59XG4iLCIuYmFja2dyb3VuZC0tcGFkZGluZyB7XHJcbiAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcclxuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy1zaWRlcyB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy1tZWRpdW0ge1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMik7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIyKTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLXBhZGRpbmctbWVkaXVtLXNpZGVzIHtcclxuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMik7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLWxhcmdlLWNhcHRpb24ge1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMik7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIyKTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI4KTtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyOCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy1sYXJnZSB7XHJcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDM0KTtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjgpO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy1sYXJnZS1zaWRlcyB7XHJcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyOCk7XHJcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjgpO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy14bCB7XHJcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ4KTtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDIpO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy14bC1zaWRlcyB7XHJcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0Mik7XHJcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDIpO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcGFkZGluZy14eGwge1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2Myk7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU1KTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLXBhZGRpbmcteHhsLXRvcCB7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU1KTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLXBhZGRpbmcteHhsLXNpZGVzIHtcclxuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDU1KTtcclxuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1NSk7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLXh4eGwge1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDcwKTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLXBhZGRpbmcteHh4bC1zaWRlcyB7XHJcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMDApO1xyXG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwMCk7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1wYWRkaW5nLXBsYWNlaG9sZGVyIHtcclxuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUwKTtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUwKTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS13aGl0ZS10cmFuc3BhcmVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC44NSk7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1ibGFjay1mYWRlLWZvci1tZWRpdW0ge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgZG93bikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIC43NSkgMTAwJSk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtLWJsYWNrLWZhZGUge1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgLjc1KSAxMDAlKTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYmxhY2sge1xyXG4gIGJhY2tncm91bmQ6ICRibGFjaztcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYmxhY2stZm9yLW1lZGl1bSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYmxhY2stdHJhbnNwYXJlbnQge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuODUpO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1ibHVlLWRhcmstMiB7XHJcbiAgYmFja2dyb3VuZDogJGJsdWUtZGFyay0yO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1vcmFuZ2UtZGFyayB7XHJcbiAgYmFja2dyb3VuZDogJG9yYW5nZS1kYXJrO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAmLmhvbGxvdyB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGluay0td2hpdGUge1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJG9yYW5nZS1wYWxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtLWdyZWVuLWZvcmVzdCB7XHJcbiAgYmFja2dyb3VuZDogJGdyZWVuLWZvcmVzdDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tZ3JlZW4tbWlkIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JlZW4tbWlkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1ncmVlbi10ZWFsIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdGVhbDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tcmVkLWJyaWNrIHtcclxuICBiYWNrZ3JvdW5kOiAkcmVkLWJyaWNrO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1tYWdlbnRhLWRhcmsge1xyXG4gIGJhY2tncm91bmQ6ICRtYWdlbnRhLWRhcms7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgLy8gYSB7XHJcbiAgLy8gICAmOm5vdCguYnV0dG9uKSB7XHJcbiAgLy8gICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIC8vICAgICAmOmhvdmVyLFxyXG4gIC8vICAgICAmOmZvY3VzIHtcclxuICAvLyAgICAgICBjb2xvcjogJG9yYW5nZS1wYWxlO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAuYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1lcnJvciB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtLWJsdWUtbmF2eSB7XHJcbiAgYmFja2dyb3VuZDogJGJsdWUtbmF2eTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAuYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgICY6bm90KC5saW5rLS1hcnJvdy0zZCkge1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1ibHVlLWRhcmsge1xyXG4gIGJhY2tncm91bmQ6ICRibHVlLWRhcms7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4uYmFja2dyb3VuZC0tYmx1ZS1saWdodCB7XHJcbiAgYmFja2dyb3VuZDogJGJsdWUtbGlnaHQ7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRibHVlLWRhcms7XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICRibHVlLW5hdnk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tZ3JheSB7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtZ3JheTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLWdyZWVuLXRlYWwtcGFsZSB7XHJcbiAgYmFja2dyb3VuZDogJGdyZWVuLXRlYWwtcGFsZTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLW9yYW5nZS12ZXJ5LWxpZ2h0IHtcclxuICBiYWNrZ3JvdW5kOiAkb3JhbmdlLXZlcnktbGlnaHQ7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1lbWFpbCB7XHJcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMik7XHJcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzIpO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYXJyb3ctdG9wIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNDApIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYyg0MCkgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItdG9wOiByZW0tY2FsYygxOCkgc29saWQgJHdoaXRlO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNDBweCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG5cclxuICAmLmJhY2tncm91bmQtLWFycm93LXRvcC1sYXJnZSB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMyKSByZW0tY2FsYyg3MSkgMDtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSA3MXB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYmFja2dyb3VuZC0tYXJyb3ctdG9wLW1hZ2VudGEge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkbWFnZW50YS1kYXJrIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIucGxheWVyLWJnIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtcmVhZHkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuaXMtcGxheWluZy1mZy12aWRlbyAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAucGx5cixcbiAgICBpZnJhbWUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgdG9wOiAtMTB2aDtcblxuICAgIC5jb25mZXJlbmNlLXNwbGFzaC5zcGxhc2gtLWJnLXZpZGVvICYge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiaHRtbDpub3QoLmNvbmZlcmVuY2UpIGJvZHkge1xuICBwYWRkaW5nLXRvcDogMTE2cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIC4zcztcbiAgd2lsbC1jaGFuZ2U6IHBhZGRpbmctdG9wO1xuXG4gICYuc2ctYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEJyZWFkY3J1bWIgTmF2aWdhdGlvblxucGFydGlhbDogYnJlYWRjcnVtYi1uYXZcbmNvbnRleHQ6IGJyZWFkY3J1bWItbmF2Lm1hcmtldHBsYWNlXG5zZWxlY3RvcjogLmJyZWFkY3J1bWItbmF2X19jb250YWluZXJcbiovXG5cbi5icmVhZGNydW1iLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlLW5hdnk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRibHVlLWRhcms7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5icmVhZGNydW1iLW5hdl9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuXG4uYnJlYWRjcnVtYi1uYXZfX2l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1uYXZ5O1xuICBjb2xvcjogJGJsdWUtYnJlYWRjcnVtYjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTtcblxuICAmOm50aC1jaGlsZCgxKSB7XG4gICAgei1pbmRleDogei1pbmRleCgnYnJlYWRjcnVtYi0xJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSB7XG4gICAgei1pbmRleDogei1pbmRleCgnYnJlYWRjcnVtYi0yJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgei1pbmRleDogei1pbmRleCgnYnJlYWRjcnVtYi0zJyk7XG4gIH1cblxuICAuZmEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIC5icmVhZGNydW1iLW5hdl9fbGluayB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmJyZWFkY3J1bWItbmF2X19pdGVtLS1sYXN0KSB7XG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JyZWFkY3J1bWItYXJyb3cucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9icmVhZGNydW1iLWFycm93LS1ob3Zlci5wbmcnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yODVzIGVhc2U7XG4gICAgICB6LWluZGV4OiA0O1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5pcy1hY3RpdmUpIHtcbiAgICAmOmhvdmVyLFxuICAgICYuaXMtZm9jdXNlZCxcbiAgICAmLmlzLWV4cGFuZGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWRhcms7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1leHBhbmRlZCB7XG4gICAgLmZhIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNTYnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1iLW5hdl9fZHJvcGRvd24tZXhwYW5kIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAwIHJlbS1jYWxjKDE1KSByZW0tY2FsYygyNSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRibHVlLXBhbGU7XG4gICAgfVxuXG4gICAgKyAuYnJlYWRjcnVtYi1uYXZfX2xpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG5cbiAgLmJyZWFkY3J1bWItbmF2X19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDM1KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJsdWUtcGFsZTtcbiAgICB9XG4gIH1cbn1cblxuXG4uYnJlYWRjcnVtYi1uYXZfX2Ryb3Bkb3duIHtcbiAgLy8gQGV4dGVuZCAldS12aXN1YWxseWhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHotaW5kZXg6IDE7XG5cbiAgLmlzLWV4cGFuZGVkICYge1xuICAgIGNsaXA6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5icmVhZGNydW1iX19kcm9wZG93bi1pdGVtIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgLmJyZWFkY3J1bWJfX2Ryb3Bkb3duLWxpbmsge1xuICAgIGNvbG9yOiAkYmx1ZS1icmVhZGNydW1iO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWJyZWFkY3J1bWI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBsZWZ0OiAtMTZweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgbGVmdDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYmx1ZS1wYWxlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHotaW5kZXg6IChcbiAgJ2JvZHknLFxuICAnc3BsYXNoJyxcbiAgJ3NwbGFzaC1vdmVybGF5cycsXG4gICdzaWRlYmFyJyxcbiAgJ2JyZWFkY3J1bWItMycsXG4gICdicmVhZGNydW1iLTInLFxuICAnYnJlYWRjcnVtYi0xJyxcbiAgJ2hlYWRlcicsXG4gICdoZWFkZXItc2VhcmNoJ1xuKTtcblxuQGZ1bmN0aW9uIHotaW5kZXgoJGxheWVyKSB7XG4gIEByZXR1cm4gaW5kZXgoJHotaW5kZXgsICRsYXllcik7XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBPcmFuZ2VcbnBhcnRpYWw6IHNnLWJ1dHRvbi1vcmFuZ2VcbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBCbHVlXG5wYXJ0aWFsOiBzZy1idXR0b24tYmx1ZVxuc2VsZWN0b3I6IC5idXR0b25cbiovXG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiAtIEdyZWVuXG5wYXJ0aWFsOiBzZy1idXR0b24tZ3JlZW5cbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gLSBNYWdlbnRhXG5wYXJ0aWFsOiBzZy1idXR0b24tbWFnZW50YVxuc2VsZWN0b3I6IC5idXR0b25cbiovXG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiAtIE9yYW5nZVxucGFydGlhbDogc2ctYnV0dG9uLW9yYW5nZVxuc2VsZWN0b3I6IC5idXR0b25cbiovXG5cblxuLyogWUFQTFxubmFtZTogQnV0dG9uXG5wYXJ0aWFsOiBzZy1idXR0b25cbnNlbGVjdG9yOiAuYnV0dG9uXG4qL1xuXG4uYnV0dG9uIHtcbiAgQGV4dGVuZCAldHJhY2tpbmctc21hbGw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIG9wYWNpdHksIGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBpIHtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgfVxuXG4gIGkge1xuICAgIGxlZnQ6IHJlbS1jYWxjKDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC4zcyBlYXNlO1xuXG4gICAgJi5mYS1hbmdsZS1yaWdodCxcbiAgICAmLmZhLWNoZXZyb24tcmlnaHQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgd2lkdGg6IDlweDtcblxuICAgICYuZmEge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgLy8gd2lkdGg6IGF1dG87XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5saW5rLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNik7XG5cbiAgICAuaWNvbi5mYSB7XG4gICAgICBsZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5pY29uLmZhIHtcbiAgICAgICAgJi5mYS1jaGV2cm9uLXJpZ2h0LFxuICAgICAgICAmLmZhLWNoZXZyb24tbGVmdCxcbiAgICAgICAgJi5mYS1hbmdsZS1yaWdodCxcbiAgICAgICAgJi5mYS1hbmdsZS1sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tbmFycm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE3KSByZW0tY2FsYygxNCk7XG59XG5cbi5idXR0b24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgLmljb24ge1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogOHB4O1xuXG4gICAgJi5mYSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mYS1jaGV2cm9uLXJpZ2h0IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLWxhcmdlIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcblxuICAuaWNvbiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiA4cHg7XG5cbiAgICAmLmZhIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZhLWNoZXZyb24tcmlnaHQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgICB0b3A6IC0uMDVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tbG9naW4ge1xuICBwYWRkaW5nOiAxMXB4IDEzcHg7XG59XG5cbi5idXR0b24tLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkb3JhbmdlLWRhcms7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRvcmFuZ2UtZGFyaywgOCUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkb3JhbmdlLWxpZ2h0O1xuICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG5cbiAgICAmLndoaXRlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkb3JhbmdlLWxpZ2h0LCA4JSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYub3JhbmdlIHtcbiAgICBib3JkZXItY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLS1vcmFuZ2Utc29saWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWRhcms7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICB9XG59XG5cbi5idXR0b24tLW9yYW5nZS1kYXJrIHtcbiAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkb3JhbmdlLWRhcms7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkb3JhbmdlLWRhcmssIDglKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJG9yYW5nZS1kYXJrO1xuICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRvcmFuZ2UtZGFyaywgOCUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tYmx1ZSxcbi5idXR0b24tLWJsdWUtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsdWUtbGlnaHQsIDglKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodDtcbiAgfVxuXG4gICYuaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRibHVlLWxpZ2h0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJsdWUtbGlnaHQsIDglKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLWJsdWUtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWRhcms7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmx1ZS1kYXJrLCA0JSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGJsdWUtZGFyaztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRibHVlLWRhcmssIDQlKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLWJsdWUtbmF2eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlLW5hdnk7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmx1ZS1uYXZ5LCA0JSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbmF2eTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGJsdWUtbmF2eTtcbiAgICBjb2xvcjogJGJsdWUtbmF2eTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1uYXZ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRibHVlLW5hdnksIDQlKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLWJsdWUtdHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlLXR3aXR0ZXI7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XG4gIH1cblxuICAmLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkYmx1ZS10d2l0dGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJsdWUtbGlnaHQsIDglKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLWdyZWVuLWxpbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGltZTtcbiAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkZ3JlZW4tbGltZTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGltZTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZ3JlZW4tbGltZSwgOCUpO1xuICB9XG5cbiAgJi5ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGdyZWVuLWxpbWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGltZTtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRncmVlbi1saW1lLCA4JSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLS1ncmVlbi1taWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbWlkO1xuICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRncmVlbi1taWQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLW1pZDtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZ3JlZW4tbWlkLCA4JSk7XG4gIH1cblxuICAmLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkZ3JlZW4tbWlkO1xuICAgIGNvbG9yOiAkZ3JlZW4tbWlkO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1taWQ7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkZ3JlZW4tbWlkLCA4JSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLS1ncmVlbi10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWw7XG4gIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGdyZWVuLXRlYWw7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWw7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRncmVlbi10ZWFsLCA4JSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL2Fycm93LXJpZ2h0LS10ZWFsLWRhcmsuc3ZnJyk7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLW9yYW5nZS1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtbGlnaHQgO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICBjb2xvcjogJG9yYW5nZS12ZXJ5LXBhbGU7XG5cbiAgICAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9hcnJvdy1yaWdodC0tb3JhbmdlLWRhcmsuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgJi5ob2xsb3cge1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJG9yYW5nZS1saWdodDtcbiAgICBjb2xvcjogJG9yYW5nZS1saWdodDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWxpZ2h0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG9yYW5nZS1saWdodCwgOCUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi0tbWFnZW50YS1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWxpZ2h0O1xuICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRtYWdlbnRhLWxpZ2h0O1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRtYWdlbnRhLWxpZ2h0LCA4JSk7XG4gIH1cblxuICAmLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkbWFnZW50YS1saWdodDtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWxpZ2h0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG1hZ2VudGEtbGlnaHQsIDglKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLXJlZC1icmljayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWQtYnJpY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQtYnJpY2ssIDglKTtcbiAgfVxufVxuXG4uYnV0dG9uLS1tYWdlbnRhLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFnZW50YS1kYXJrO1xuICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRtYWdlbnRhLWRhcms7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hZ2VudGEtZGFyaztcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkbWFnZW50YS1kYXJrLCA4JSk7XG4gIH1cblxuICAmLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCAkbWFnZW50YS1kYXJrO1xuICAgIGNvbG9yOiAkbWFnZW50YS1kYXJrO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWRhcms7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkbWFnZW50YS1kYXJrLCA4JSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGxpZ2h0LWdyYXk7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGxpZ2h0LWdyYXksIDglKTtcbiAgfVxuXG4gICYuaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRncmF5LWxpZ2h0O1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRsaWdodC1ncmF5LCA4JSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogQ2FyZHNcbnBhcnRpYWw6IGNhcmRzXG5jb250ZXh0OiBjYXJkcy5zaXRlbWFwXG5zZWxlY3RvcjogLmNhcmRzXG4qL1xuXG4uY2FyZHMtLXNpdGVtYXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmNhcmQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDFyZW07XG5cbiAgfiAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IC44NWVtIDFyZW07XG5cbiAgICAuaWNvbi5mYS5mYS1leHRlcm5hbC1saW5rIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24uZmEuZmEtY2hldnJvbi1yaWdodCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLS1tYWdlbnRhLWRhcmsge1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRtYWdlbnRhLWRhcms7XG5cbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hZ2VudGEtZGFyaztcbiAgfVxufVxuXG4uY2FyZC0tZ3JlZW4tdGVhbCB7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgJGdyZWVuLXRlYWw7XG5cbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWw7XG4gIH1cbn1cblxuIiwiLyogWUFQTFxubmFtZTogQ2FwdGlvbmVkIEltYWdlXG5wYXJ0aWFsOiBjYXB0aW9uZWQtaW1hZ2VcbmNvbnRleHQ6IGNhcHRpb25lZC1pbWFnZXMubXMyXG5zZWxlY3RvcjogLmNhcHRpb25lZC1pbWFnZVxuKi9cblxuLmNhcHRpb25lZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyAuaXMtaWUgJiB7XG4gICAgLy8gICBoZWlnaHQ6IDAlO1xuICAgIC8vIH1cbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogLjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLmNhcHRpb25fX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAxMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWluLXZpZXcge1xuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAuY2FwdGlvbl9fdGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jYXB0aW9uZWQtaW1hZ2UtLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAuY2FwdGlvbl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDE2MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jYXB0aW9uZWQtaW1hZ2UtLWRvd24ge1xuICAgICAgICAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtMzAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmNhcHRpb25lZC1pbWFnZS0tdXAge1xuICAgICAgICAuaXMtaW4tdmlldyBmaWdjYXB0aW9uIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAtMzAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJi5tYXN0ZXItc3ViLW1haW4taW1hZ2V7XG5cdHotaW5kZXg6IDA7XG4gIH1cbn1cblxuLmNhcHRpb25fX3RleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMik7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuMzVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNDVzO1xuICAgIHdpZHRoOiA0cHg7XG5cbiAgICAuYmFja2dyb3VuZC0tb3JhbmdlLWRhcmsgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uY2FwdGlvbmVkLWltYWdlLS11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICYuYmFja2dyb3VuZC0tYmxhY2stZmFkZS1mb3ItbWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTUwKTtcblxuICAgICAgICAuaXMtaWUgJiB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluLXZpZXctdHJpZ2dlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY2FwdGlvbl9fdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMTAlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pcy1pZSxcbi5pcy1maXJlZm94LFxuLmlzLWVkZ2Uge1xuICAuY2FwdGlvbmVkLWltYWdlLS1kb3duIHtcbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuXG4gICAgLmlzLWluLXZpZXcge1xuICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAuY2FwdGlvbmVkLWltYWdlLS11cCB7XG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAgIH1cblxuICAgICAgLmlzLWluLXZpZXcge1xuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBDb21tdW5pdHlcbnBhcnRpYWw6IGNvbW11bml0eVxuKi9cblxuLmNvbW11bml0eSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMDApO1xuICB9XG5cbiAgJi5pcy1pbi12aWV3IHtcbiAgICAuY29tbXVuaXR5X19pdGVtIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbW11bml0eV9faXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI4KSAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAlKTtcbiAgICB0cmFuc2l0aW9uOiAuOHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7XG4gICAgfVxuXG4gICAgLmNvbW11bml0eV9fbGluayB7XG4gICAgICBjb2xvcjogJG9yYW5nZS1saWdodDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLXBhbGU7XG4gICAgICB9XG5cbiAgICAgIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgICAgdG9wOiAtLjEyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IENvbW11bml0eSBBbm5vdW5jZW1lbnRzXG5wYXJ0aWFsOiBjb21tdW5pdHktYW5ub3VuY2VtZW50c1xuKi9cblxuLmNvbW11bml0eS1hbm5vdW5jZW1lbnRzIHtcbiAgLmNvbW11bml0eS1hbm5vdW5jZW1lbnRzX190aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIC5jb21tdW5pdHktYW5ub3VuY2VtZW50c19fbGlzdCB7XG4gICAgbGkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWxpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIH4gLmJ1dHRvbiB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogQ29udGFjdCBPcHRpb25zXG5wYXJ0aWFsOiBjb250YWN0LW9wdGlvbnNcbmNvbnRleHQ6IGNvbnRhY3Qtb3B0aW9uc1xuKi9cblxuLmNvbnRhY3Qtb3B0aW9uc19faXRlbSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNvbnRhY3Qtb3B0aW9uc19faXRlbS1pbm5lciB7XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEJsdWUgQ2FsbC10by1BY3Rpb25cbnBhcnRpYWw6IGN0YS1ibHVlXG5jb250ZXh0OiBjdGEtYmx1ZS5tczFcbiovXG5cbi5jdGEtYmx1ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzhweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDM5cHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIHdpZHRoOiA3OHB4O1xuICAgIC8vIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cblxuICAuYnV0dG9uLS1ibHVlLWxpZ2h0LnNvbGlkIHtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkICRibHVlLWxpZ2h0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJsdWUtbGlnaHQsIDglKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIuY3RhX19idXR0b25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmN0YS1ibHVlICYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAzMjVweDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgcmVtLWNhbGMoMzIpO1xuICAgIHdpZHRoOiA5MCU7XG5cbiAgICAuY3RhLWJsdWUgJiB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICAuY3RhX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDU0JztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuY3RhX190ZXh0OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgd2lkdGg6IDM1JTtcblxuICAgICAgLmN0YS1ibHVlICYge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgLmN0YS1ibHVlICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIC43NXJlbSAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdGFfX2J1dHRvbi10ZXh0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5wbGF5ZXJfX3BsYXkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE0KTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNCk7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9wbGF5LWNpcmNsZS5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBPcmFuZ2UgQ2FsbC10by1BY3Rpb25cbnBhcnRpYWw6IGN0YS1vcmFuZ2VcbmNvbnRleHQ6IGN0YS1vcmFuZ2UuaHAxXG5zZWxlY3RvcjogLmN0YS1vcmFuZ2VcbiovXG5cbi5jdGEtb3JhbmdlLS1jZW50ZXIge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEVtYWlsIFNpZ24tdXAgRm9ybVxucGFydGlhbDogZW1haWwtc2lnbi11cFxuKi9cblxuLmVtYWlsLXNpZ24tdXAge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRvcmFuZ2UtZGFyaztcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuXG4gIC5pbnB1dC1ncm91cCAuZmllbGQge1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ncmF5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTBweCAxNHB4IDE0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtIHtcbiAgICAuZm9ybV9fZXJyb3JzLFxuICAgIC5mb3JtLWVycm9yIHtcbiAgICAgIGNvbG9yOiAkcmVkLWJyaWNrO1xuICAgIH1cbiAgfVxuXG4gIC5sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIC4zcyBlYXNlO1xuICB9XG5cbiAgLmZpZWxkLS1ub3QtZW1wdHksXG4gIC5maWVsZC0tZm9jdXNlZCB7XG4gICAgLmxhYmVsLXRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBFdmVudHMgLSBIb21lcGFnZVxucGFydGlhbDogc2ctZXZlbnRzXG5zZWxlY3RvcjogLmV2ZW50c1xuKi9cblxuLmV2ZW50X19pdGVtIHtcbiAgLmNvbHVtbiA+IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJ1bGxldGluIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBFcnJvciBQYWdlIFNlYXJjaFxucGFydGlhbDogZXJyb3Itc2VhcmNoXG5jb250ZXh0OiBlcnJvci1zZWFyY2guNDA0LXBhZ2VcbiovXG5cbi5lcnJvci1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiA2NTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogNzAwcHg7XG4gIH1cbn1cblxuLmVycm9yLXNlYXJjaC1jb250ZW50IHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNDByZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAzMDBweDtcbiAgd2lkdGg6IDk1JTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDQwMHB4O1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDY1JTtcbiAgfVxuXG4gIC5zcGxhc2gtc2VhcmNoX19mb3JtIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmZvcm0gLmZsb2F0aW5nLWxhYmVsIHtcbiAgICBsZWZ0OiA3NXB4O1xuICAgIHRvcDogNDUlO1xuXG4gICAgLmxhYmVsLXRleHQge1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIC4zcyBlYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbm90LWVtcHR5LFxuICAuZmllbGQtLWZvY3VzZWQge1xuICAgIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICB0b3A6IDE1cHg7XG5cbiAgICAgIC5sYWJlbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZXJyb3Itc2VhcmNoLWNvbnRlbnQtbGlua3Mge1xuICBhIHtcbiAgICBtYXJnaW46IDAgMS41cmVtO1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBGZWF0dXJlIEltYWdlXG5wYXJ0aWFsOiBzZy1mZWF0dXJlLWltYWdlXG5zZWxlY3RvcjogLmZlYXR1cmUtaW1hZ2VcbiovXG5cbi5mZWF0dXJlLWltYWdlIHtcbiAgLmltYWdlLWZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MjUpO1xuICAgIHRyYW5zaXRpb246IG1pbi1oZWlnaHQgLjRzIGVhc2U7XG4gIH1cblxuICAuaW1hZ2UtZmlsbF9fYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MjUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAuZmxleC0tY29sdW1uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAuZmVhdHVyZS1zZWN0aW9uICYge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLmlzLW1vYmlsZS1zYWZhcmkgJixcbiAgLy8gLmlzLW1vYmlsZS1jaHJvbWUgJiB7XG4gIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XG4gIC8vICAgICAuY2FwdGlvbmVkLWltYWdlLS11cCB7XG4gIC8vICAgICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxufVxuIiwiLyogWUFQTFxubmFtZTogRmVhdHVyZWQgU2VjdGlvblxucGFydGlhbDogZmVhdHVyZS1zZWN0aW9uXG5jb250ZXh0OiBmZWF0dXJlLXNlY3Rpb24ucHJpbWFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLmZlYXR1cmUtc2VjdGlvblxuKi9cblxuLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICB9XG4gIH1cblxuICAuZmxleC0tY29sdW1uIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmUtc2VjdGlvbl9fc2Vjb25kYXJ5LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBGZWF0dXJlZCBUaWxlcyAtIEhvbWVwYWdlXG5wYXJ0aWFsOiBmZWF0dXJlLXRpbGVzXG5jb250ZXh0OiBmZWF0dXJlLXRpbGVzLmhvbWVcbnNlbGVjdG9yOiAuZmVhdHVyZS10aWxlc1xuKi9cblxuLmZlYXR1cmUtdGlsZXMge1xuICBAZXh0ZW5kICVzaGFkb3dlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiB6LWluZGV4KGJvZHkpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4uZmVhdHVyZS10aWxlIHtcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgbm8taW1wb3J0YW50XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuZm9ybS0tYmFja2dyb3VuZCAuZmllbGQtLXRleHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuZm9ybS1lcnJvciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5mZWF0dXJlLXRpbGVfX3RleHQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIC5mZWF0dXJlLXRpbGVfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuZmVhdHVyZS10aWxlLS1tYWdlbnRhIHtcbiAgICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWRhcms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hZ2VudGEtZGFyay1mZWF0dXJlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuZmVhdHVyZS10aWxlX19zdmcge1xuICAgICAgICBsaW5lIHtcbiAgICAgICAgICBzdHJva2U6ICRtYWdlbnRhLWRhcmstZmVhdHVyZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRtYWdlbnRhLWRhcmstZmVhdHVyZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLXRpbGVfX2lubmVyLFxuICAgIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hZ2VudGEtZGFyay1mZWF0dXJlO1xuICAgIH1cblxuICAgIFtkYXRhLWluLXZpZXddICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC0xMDAlKTtcbiAgICB9XG5cbiAgICAvLyAuaWNvbi0tY2xvc2Uge1xuICAgIC8vICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9jbG9zZS0tb3JhbmdlLnN2ZycpO1xuICAgIC8vIH1cbiAgfVxuXG4gICYuZmVhdHVyZS10aWxlLS1vcmFuZ2Uge1xuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1saWdodDtcbiAgICB9XG5cbiAgICBbZGF0YS1pbi12aWV3XSAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtYnJpY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX3N2ZyB7XG4gICAgICAgIGxpbmUsXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRvcmFuZ2UtZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZmVhdHVyZS10aWxlLS1ibHVlLWRhcmsge1xuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrLWZlYXR1cmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX3N2ZyB7XG4gICAgICAgIGxpbmUge1xuICAgICAgICAgIHN0cm9rZTogJGJsdWUtZGFyay1mZWF0dXJlO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGJsdWUtZGFyay1mZWF0dXJlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtdGlsZV9faW5uZXIsXG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrLWZlYXR1cmU7XG4gICAgfVxuXG4gICAgW2RhdGEtaW4tdmlld10gJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMTAwJSk7XG4gICAgfVxuXG4gICAgLy8gLmljb24tLWNsb3NlIHtcbiAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vY2xvc2UtLWJsdWUtbGlnaHQuc3ZnJyk7XG4gICAgLy8gfVxuICB9XG5cbiAgJi5mZWF0dXJlLXRpbGUtLWJsdWUtbGlnaHQge1xuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQtZmVhdHVyZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodC1mZWF0dXJlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuZmVhdHVyZS10aWxlX19zdmcge1xuICAgICAgICBsaW5lIHtcbiAgICAgICAgICBzdHJva2U6ICRibHVlLWxpZ2h0LWZlYXR1cmUtaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkYmx1ZS1saWdodC1mZWF0dXJlLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtdGlsZV9faW5uZXIsXG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodC1mZWF0dXJlLWhvdmVyO1xuICAgIH1cblxuICAgIFtkYXRhLWluLXZpZXddICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMTAwJSk7XG4gICAgfVxuXG4gICAgLy8gLmljb24tLWNsb3NlIHtcbiAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vY2xvc2UtLWJsdWUtZGFyay5zdmcnKTtcbiAgICAvLyB9XG4gIH1cblxuICBbZGF0YS1pbi12aWV3XSAmIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjMzcywgYmFja2dyb3VuZC1jb2xvciAuMjVzLCB0cmFuc2Zvcm0gMXM7XG4gIH1cblxuICAuaXMtaW4tdmlldyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmUtdGlsZS0tbGluayB7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uZmVhdHVyZS10aWxlLS1ob3ZlciB7XG4gIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgLy8gaWUgZml4XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZzogMCAzcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rLS1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIHRvcCBib3JkZXJcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICBtYXJnaW46IDAgYXV0byAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGZsaXAgYW5pbWF0aW9uXG4gIDpub3QoLmlzLWllKSAmIHtcbiAgICBwZXJzcGVjdGl2ZTogMTAwMDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXG4gICAgLmZlYXR1cmUtdGlsZV9faW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS10aWxlX19jb250ZW50LFxuICAgIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICB0cmFuc2l0aW9uOiAuN3MgZWFzZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyB6b29tIGFuaW1hdGlvblxuICAuaXMtaWUgJiB7XG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICB0cmFuc2l0aW9uOiAuN3MgZWFzZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmUtdGlsZS0tZmx5b3V0IHtcbiAgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZS10aWxlX19vdmVybGF5LFxuICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzIGVhc2U7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC5mZWF0dXJlLXRpbGVfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAjey0kZ2xvYmFsLW1hcmdpbn07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9ERCBmbHlvdXQgZXhwYW5kc1xuLmlzLWV4cGFuZGVkLTEge1xuICAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDEpIHtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICArIC5mZWF0dXJlLXRpbGUge1xuICAgICAgICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlzLWV4cGFuZGVkLTMge1xuICAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDMpIHtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICsgLmZlYXR1cmUtdGlsZSB7XG4gICAgICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBFVkVOIGZseW91dCBleHBhbmRzXG4uaXMtZXhwYW5kZWQtMiB7XG4gIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoNCkge1xuICAgIHotaW5kZXg6IDQ7XG5cbiAgICAuZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLmZlYXR1cmUtdGlsZS0tZmx5b3V0Om50aC1jaGlsZCgxKSB7XG4gICAgICAuZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlzLWV4cGFuZGVkLTQge1xuICAuZmVhdHVyZS10aWxlLS1mbHlvdXQ6bnRoLWNoaWxkKDQpIHtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLXRpbGVfX2NvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5mZWF0dXJlLXRpbGUtLWZseW91dDpudGgtY2hpbGQoMykge1xuICAgICAgLmZlYXR1cmUtdGlsZV9fY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mZWF0dXJlLXRpbGVfX2lubmVyIHtcbiAgaGVpZ2h0OiByZW0tY2FsYygzNjApO1xufVxuXG4uZmVhdHVyZS10aWxlX19jb250ZW50LFxuLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbn1cblxuLmZlYXR1cmUtdGlsZV9fb3ZlcmxheSB7XG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uZmVhdHVyZS10aWxlX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlO1xufVxuXG4uZmVhdHVyZS10aWxlX19vdmVybGF5IHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5mZWF0dXJlLXRpbGVfX2ltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIHdpZHRoOiByZW0tY2FsYygxMDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgfVxuXG4gIC5mZWF0dXJlLXRpbGUtLWJsdWUtZGFyayAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTIwKTtcbiAgfVxufVxuXG4uZmVhdHVyZS10aWxlX19pY29uIHtcbiAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxNikgYXV0bztcbiAgaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzO1xuICB3aWR0aDogcmVtLWNhbGMoNDYpO1xufVxuXG4uZmVhdHVyZS10aWxlX19zdmcge1xuICBsaW5lIHtcbiAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgc3Ryb2tlLXdpZHRoOiByZW0tY2FsYygyKTtcbiAgICB0cmFuc2l0aW9uOiBzdHJva2UgLjJzO1xuICB9XG5cbiAgcGF0aCB7XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIHN0cm9rZTogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAuMnM7XG4gIH1cbn1cblxuLmZlYXR1cmUtdGlsZV9fY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogcmVtLWNhbGMoNik7XG4gIHRvcDogcmVtLWNhbGMoMyk7XG4gIHdpZHRoOiByZW0tY2FsYygxNik7XG5cbiAgLmljb24ge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2lufTtcbiAgICB0b3A6ICN7JGdsb2JhbC1tYXJnaW59O1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBGZWF0dXJlZCBWaWRlb1xucGFydGlhbDogc2ctZmVhdHVyZS12aWRlb1xuc2VsZWN0b3I6IC5mZWF0dXJlLXZpZGVvXG4qL1xuXG4uZmVhdHVyZS12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGgyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5wbGF5ZXIge1xuICAgIEBleHRlbmQgJXZlcnRpY2FsLW1hcmdpbi0yO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBseXI6bm90KC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSkge1xuICAgICAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAvLyB0cmFuc2l0aW9uOiBoZWlnaHQgLjRzIGVhc2U7XG4gICAgICAgIC8vIHdpbGwtY2hhbmdlOiBoZWlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUyMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUge1xuICAgICAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogRmVhdHVyZWQgTGlzdCBJdGVtc1xucGFydGlhbDogc2ctZmVhdHVyZWQtbGlzdC1pdGVtc1xuY29udGV4dDogZmVhdHVyZWQtbGlzdC1pdGVtcy5maWx0ZXJhYmxlLWxpc3RcbnNlbGVjdG9yOiAuZmVhdHVyZWQtbGlzdC1pdGVtc1xuKi9cblxuLmZlYXR1cmVkLWxpc3QtaXRlbXMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIGE6bm90KGJ1dHRvbikubGluay0tb3JhbmdlIHtcbiAgICBjb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkcmVkLWJyaWNrO1xuICAgIH1cbiAgfVxufVxuXG4uZmVhdHVyZWQtbGlzdF9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHg7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZsZXg6IDAgMCA0NiU7XG5cbiAgICAuaXMtaWUgJiB7XG4gICAgICBmbGV4OiAwIDAgMzYlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuaXMtaWUgJiB7XG4gICAgICBmbGV4OiAwIDAgMzklO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogLjg1O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmVkLWxpc3RfX2l0ZW0taW1hZ2UtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmVhdHVyZWQtbGlzdF9faXRlbS10YWcge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxlZnQ6IC0xM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogOHB4IDE1cHggOHB4IDEzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjBweDtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgfVxuXG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90YWctY29ybmVyLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogMTNweDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZSgxMHB4LCA0MHB4LCBlLCAkb3JhbmdlLWRhcmspO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZzogMTRweCAxNXB4IDE0cHggMThweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgdG9wOiAtMzBweDtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxNXB4LCA2MHB4LCBlLCAkb3JhbmdlLWRhcmspO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRyaWFuZ2xlKCR3aWR0aCwgJGhlaWdodCwgJGRpcmVjdGlvbiwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOTk5OSk7XG4gIHdpZHRoOiAwO1xuXG4gIC8vIFJpZ2h0L0Vhc3RcbiAgQGlmICRkaXJlY3Rpb24gPT0gZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCAvIDIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCAvIDIgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBMZWZ0L1dlc3RcbiAgQGlmICRkaXJlY3Rpb24gPT0gdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCAvIDIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgLyAyIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gVXAvTm9ydGhcbiAgQGlmICRkaXJlY3Rpb24gPT0gbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCAvIDIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggLyAyIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRG93bi9Tb3V0aFxuICBAaWYgJGRpcmVjdGlvbiA9PSBzIHtcbiAgICBib3JkZXItbGVmdDogJHdpZHRoIC8gMiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCAvIDIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkY29sb3I7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEZlYXR1cmVkIFBhZ2VzXG5wYXJ0aWFsOiBmZWF0dXJlZC1wYWdlc1xuY29udGV4dDogZmVhdHVyZWQtcGFnZXMuc2Vjb25kYXJ5LWxhbmRpbmdcbnNlbGVjdG9yOiAuZmVhdHVyZWQtcGFnZXNcbiovXG5cbi5mZWF0dXJlZC1wYWdlc19fcGFnZS1jb250YWluZXIge1xuICAuYnV0dG9uIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpO1xuICAgIHRyYW5zaXRpb246IC44cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRyYW5zZm9ybSwgb3BhY2l0eTtcblxuICAgICYuaXMtaW4tdmlldyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxufVxuXG4uZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMzUwcHg7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYyg1NSkgcmVtLWNhbGMoNDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiA0MzBweDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDI1KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDQwKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDQwKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJi5iYWNrZ3JvdW5kLS1vcmFuZ2UtZGFyazo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIwKSBzb2xpZCAkb3JhbmdlLWRhcms7XG4gICAgfVxuXG4gICAgJi5iYWNrZ3JvdW5kLS1tYWdlbnRhLWRhcms6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygyMCkgc29saWQgJG1hZ2VudGEtZGFyaztcbiAgICB9XG5cbiAgICAmLmJhY2tncm91bmQtLWdyZWVuLW1pZDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIwKSBzb2xpZCAkZ3JlZW4tbWlkO1xuICAgIH1cblxuICAgICYuYmFja2dyb3VuZC0tcmVkLWJyaWNrOjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMjApIHNvbGlkICRyZWQtYnJpY2s7XG4gICAgfVxuXG4gICAgJi5iYWNrZ3JvdW5kLS1ibHVlLWRhcms6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygyMCkgc29saWQgJGJsdWUtZGFyaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYyg1NSkgcmVtLWNhbGMoNDApO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICB9XG59XG5cbi5mZWF0dXJlZC1wYWdlc19fcGFnZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWNvbnRhaW5lciB7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZXNfX3RleHQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVkLXBhZ2VzX19wYWdlLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwJSk7XG5cbiAgICAgICAgJi5pcy1pbi12aWV3IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEZlYXR1cmVkIFF1b3RlXG5wYXJ0aWFsOiBmZWF0dXJlZC1xdW90ZVxuY29udGV4dDogZmVhdHVyZWQtcXVvdGVzLnNlY29uZGFyeS1sYW5kaW5nXG5zZWxlY3RvcjogLmZlYXR1cmVkLXF1b3RlXG4qL1xuXG4uZmVhdHVyZWQtcXVvdGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5pcy1pbi12aWV3IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogcmVtLWNhbGMoNzApO1xuICB9XG5cbiAgJi5mZWF0dXJlZC1xdW90ZS0tbWFnZW50YS1kYXJrOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWRhcms7XG4gIH1cbn1cblxuLmZlYXR1cmVkLXF1b3RlX190ZXh0IHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgfVxufVxuIiwiLyogWUFQTFxyXG5uYW1lOiBGaWx0ZXJzXHJcbnBhcnRpYWw6IHNnLWZpbHRlcnNcclxuc2VsZWN0b3I6IC5maWx0ZXJzXHJcbiovXHJcblxyXG4uZmlsdGVycyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZmlsdGVyc19fb3ZlcmxheSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC43KTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogNDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcclxuICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmlsdGVycy10b3AtY29udHJvbHMge1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzLXN0YXR1cy1jb250YWluZXIge1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5maWx0ZXJzX19tb2JpbGUtb3BlbiB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tdGVhbDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdyZWVuLXRlYWwsIDglKTtcclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzX19zb3J0LWJ5IHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgyMSwgMTYwLCAxMzclMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgKyAxMHB4KSBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW4tdGVhbDtcclxuICAgIGNvbG9yOiAkZ3JlZW4tdGVhbDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW4tdGVhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIH1cclxufVxyXG4uZmlsdGVycy0tc2VhcmNoLXBhZ2V7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zaXRpb246IC41cyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQsIGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS4yNXJlbSk7XHJcbiAgICB6LWluZGV4OiB6LWluZGV4KCdicmVhZGNydW1iLTEnKTtcclxuXHJcbiAgICAuZmlsdGVycy0tc2VhcmNoLXBhZ2UgJiB7XHJcbiAgICAgIHRvcDogMzNweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXNob3dpbmcge1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXJpZ2h0IC4zcyBlYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICYucm93IHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcnNfX2ZpbHRlci1ncm91cHMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XHJcbiAgICBmbGV4OiAwIDAgODAlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxuXHJcbiAgICA+IC5tQ3VzdG9tU2Nyb2xsQm94IHtcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgICA+IC5tQ1NCX2NvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzX19ncm91cCB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIH4gLmZpbHRlcnNfX2dyb3VwIHtcclxuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzX19jbG9zZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAxNHB4O1xyXG4gIGxlZnQ6IGNhbGMoMTAlIC0gN3B4KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIHdpZHRoOiAxNHB4O1xyXG5cclxuICAuaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XHJcbiAgLmZpbHRlcnNfX2dyb3VwIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcclxuXHJcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2U7XHJcblxyXG4gICAgICAmLmlzLW9wZW4ge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgIC5maWx0ZXJzX19ncm91cC1oZWFkZXIge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNjgnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWx0ZXJzX19ncm91cC1oZWFkZXItLWlubmVyIHtcclxuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmlsdGVyc19fZ3JvdXAtaGVhZGVyLCAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyLWNoZWNrYm94IHtcclxuICBwYWRkaW5nOiAxNHB4IDE0cHggMTRweCAzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi10ZWFsO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5oYXNfY2hlY2tib3h7XHJcbiAgICBwYWRkaW5nOjBweDtcclxufVxyXG5cclxuLmZpbHRlcnNfX2dyb3VwLWhlYWRlci1jaGVja2JveHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZlZmVmZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmlsdGVyc19fZ3JvdXAtY29udGFpbmVyIHtcclxuICBtYXgtaGVpZ2h0OiAyODBweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgLjVzIGVhc2U7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW46IDI0cHggMDtcclxuICB9XHJcblxyXG4gIC5maWx0ZXJzLS1zZWFyY2gtcGFnZSAmIHtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcnNfX2dyb3VwLWl0ZW1zIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDAgMTRweCAwIDMwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZSwgLjdzIGVhc2U7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nO1xyXG5cclxuICAgIC5pcy1vcGVuICYge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAxNHB4IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgcGFkZGluZzogMCAxNHB4IDAgMzBweDtcclxufVxyXG5cclxuLmZpbHRlcnNfX2dyb3VwLWl0ZW0ge1xyXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAuZmlsdGVyc19faXRlbS1sYWJlbCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgLmZpbHRlcnNfX2l0ZW0tbGFiZWwge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzX19pdGVtLWxhYmVsIHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgcGFkZGluZzogOHB4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkZ3JlZW4tdGVhbDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICAgLmZpbHRlcnNfX2l0ZW0tY2hlY2tib3gtaW1nIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW4tdGVhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWx0ZXJzX19pdGVtLWNoZWNrYm94IHtcclxuICBib3JkZXI6IDA7XHJcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgbGVmdDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHdpZHRoOiAyNXB4O1xyXG5cclxuICAmOmNoZWNrZWQgKyAuZmlsdGVyc19faXRlbS1jaGVja2JveC1pbWcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWw7XHJcbiAgICBib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcnNfX2l0ZW0tY2hlY2tib3gtaW1nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXIsIGJhY2tncm91bmQtY29sb3I7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcbi5jaGVja2JveC1zdW1tZXIge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBtYXJnaW46MHB4O1xyXG4gICAgcGFkZGluZzowcHg7XHJcbn1cclxuXHJcbi5maWx0ZXJzX19pdGVtLWxhYmVsIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICBwYWRkaW5nOiA4cHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cclxuICAuZmlsdGVyc19faXRlbS1sYWJlbDpmb2N1cyB7XHJcbiAgICBjb2xvcjogIzE1YTA4OTtcclxuICAgIG91dGxpbmU6IG5vbmU7IH1cclxuICAgIC5maWx0ZXJzX19pdGVtLWxhYmVsOmZvY3VzIC5maWx0ZXJzX19pdGVtLWNoZWNrYm94LWltZyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogIzE1YTA4OTsgfSIsIi8qIFlBUExcbm5hbWU6IEZvb3RlclxucGFydGlhbDogZm9vdGVyXG5zZWxlY3RvcjogLmZvb3RlclxuKi9cblxuLmZvb3Rlci11dGlsaXR5LWxpbmtzIHtcbiAgLmRpdmlkZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luOiAwIC40cmVtIDAgLjZyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuZGl2aWRlcjpsYXN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGluazpsYXN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAuM3JlbTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5cbi5yZXF1aXJlZC1hc3RlcmlzayB7XG4gIGNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMik7XG4gIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gIHRvcDogLS4xZW07XG59XG5cbi5mb3JtIHtcbiAgJGlucHV0LXBhZGRpbmc6IHJlbS1jYWxjKDEwKSAuNXJlbSAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1mb250LWZhbWlseTtcblxuICAuYWxlcnQge1xuICAgIGNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAuZmllbGQge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC4yNXM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgfVxuXG4gICAgJi5maWVsZC0tbm90LWVtcHR5LFxuICAgICYuZmllbGQtLWZvY3VzZWQsXG4gICAgJi5pcy1maWxsZWQtbGFiZWwsIHtcbiAgICAgICYuZmllbGQtLXRleHQsXG4gICAgICAmLmZpZWxkLS10ZXh0YXJlYSB7XG4gICAgICAgIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMTApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblxuICAgICAgICAgIC5yZXF1aXJlZC1hc3RlcmlzayB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3Qtd3JhcF9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnNlbGVjdF9fYXJyb3cge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg4KTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gZ2xvYmFsIGZvcm0gc3R5bGUgb3ZlcnJpZGVzXG4gIHNlbGVjdCxcbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpmb2N1cykge1xuICAgICAgLy8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmW3R5cGU9J3RleHQnXSxcbiAgICAmW3R5cGU9J2VtYWlsJ10sXG4gICAgJlt0eXBlPSdudW1iZXInXSxcbiAgICAmW3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJlt0eXBlPSdudW1iZXInXSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9J3JhZGlvJ10sXG4gICAgJlt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgLjIpLCByZ2JhKCR3aGl0ZSwgLjIpKTtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbWlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuXG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgLjVyZW07XG4gICAgICB9XG5cbiAgICAgICYuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgLjIpLCByZ2JhKCR3aGl0ZSwgLjIpKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG5cbiAgICAgICsgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLjJlbTtcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSByZW0tY2FsYygyMCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICB9XG5cbiAgICAmLmlucHV0LS1uby1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3NSk7XG4gICAgcGFkZGluZy10b3A6IC43NWVtO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgfVxuXG4gIC5maWVsZC0tdHlwZWFoZWFkLFxuICAuc2VsZWN0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLmljb24ge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0LXdyYXAge1xuICAgID4gLmljb24ge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cztcbiAgICAgIHdpbGwtY2hhbmdlOiBjb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgPiAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvciwgMjUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmxvYXRpbmctbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiAuMTVzO1xuICB9XG5cbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBleHRlbmQgJXRyYWNraW5nLTIwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC02KSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgIG1hcmdpbi10b3A6IDNweDtcblxuICAgIC5mZWF0dXJlLXRpbGVfX292ZXJsYXkgJiB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgfVxuICB9XG5cblxuICAuZm9ybV9fZXJyb3JzLFxuICAuZm9ybS1lcnJvciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5mb3JtLWVycm9yLFxuICAuZm9ybV9fZXJyb3JzIHtcbiAgICBAZXh0ZW5kICV0cmFja2luZy0zMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgfVxuXG4gIC5mb3JtX19lcnJvcnMge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gLyAyfTtcblxuICAgIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuaGVscC10ZXh0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5oZWxwLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWxwLXRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDA7XG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgJjpvbmx5LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS10ZXh0LFxuICAuY29sdW1uLmFsaWduLXNlbGYtYm90dG9tID4gLmZvcm1fX2J1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgLmNvbHVtbi5hbGlnbi1zZWxmLWJvdHRvbSA+IC5mb3JtX19idXR0b24ge1xuICAgIGhlaWdodDogMzlweDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuZmVhdHVyZS10aWxlICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mb3JtX19idXR0b24ge1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuXG4gICAgICAuZm9ybV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLS1iYWNrZ3JvdW5kIHtcbiAgJGlucHV0LXBhZGRpbmc6IHJlbS1jYWxjKDEwKSAuNXJlbSAwO1xuXG4gIC8vIC5maWVsZCB7XG4gIC8vICAgJi5maWVsZC0tbm90LWVtcHR5LFxuICAvLyAgICYuaXMtZmlsbGVkLWxhYmVsIHtcbiAgLy8gICAgICYuZmllbGQtLXRleHQsXG4gIC8vICAgICAmLmZpZWxkLS10ZXh0YXJlYSB7XG4gIC8vICAgICAgIC5mbG9hdGluZy1sYWJlbCB7XG4gIC8vICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAvLyAgICAgICAgIHRvcDogYXV0bztcbiAgLy8gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5maWVsZC0tdGV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgJHdoaXRlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgaW5wdXQge1xuICAgICAgJlt0eXBlPSd0ZXh0J10sXG4gICAgICAmW3R5cGU9J2VtYWlsJ10sXG4gICAgICAmW3R5cGU9J251bWJlciddLFxuICAgICAgJlt0eXBlPSdwYXNzd29yZCddIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMik7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmZsb2F0aW5nLWxhYmVsIHtcbiAgICBib3R0b206IDYwJTtcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMik7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG59XG5cbi5mb3JtX19lcnJvcnMge1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAuZmVhdHVyZS10aWxlIHtcbiAgICAuZmllbGQtLXRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEdhdGVkIENvbnRlbnQgTGFuZGluZyAtIE5vbi1BdXRoZW50aWNhdGVkXG5wYXJ0aWFsOiBnYXRlZC1sYW5kaW5nXG5jb250ZXh0OiBnYXRlZC1sYW5kaW5nLm5vdC1hdXRoZW50aWNhdGVkXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBHYXRlZCBDb250ZW50IExhbmRpbmcgLSBOb24tTWVtYmVyXG5wYXJ0aWFsOiBnYXRlZC1sYW5kaW5nXG5jb250ZXh0OiBnYXRlZC1sYW5kaW5nLm5vdC1tZW1iZXJcbiovXG5cbi8qIFlBUExcbm5hbWU6IEdhdGVkIENvbnRlbnQgTGFuZGluZyAtIE1lZGlhIE5vbi1BdXRoZW50aWNhdGVkXG5wYXJ0aWFsOiBnYXRlZC1sYW5kaW5nXG5jb250ZXh0OiBnYXRlZC1sYW5kaW5nLm1lZGlhLW5vdC1hdXRoZW50aWNhdGVkXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBHYXRlZCBDb250ZW50IExhbmRpbmcgLSBNZWRpYSBOb24tQXBwcm92ZWRcbnBhcnRpYWw6IGdhdGVkLWxhbmRpbmdcbmNvbnRleHQ6IGdhdGVkLWxhbmRpbmcubWVkaWEtbm90LWFwcHJvdmVkXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBHYXRlZCBDb250ZW50IExhbmRpbmcgLSBBbm9ueW1vdXNcbnBhcnRpYWw6IGdhdGVkLWxhbmRpbmdcbmNvbnRleHQ6IGdhdGVkLWxhbmRpbmcuYW5vbnltb3VzXG4qL1xuXG4uZ2F0ZWQtbGFuZGluZyB7XG4gIC5nYXRlZC1sYW5kaW5nX19sb2NrIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg2NSk7XG4gIH1cblxuICAuZ2F0ZWQtbGFuZGluZ19fYmxvY2sge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyNSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjUpIHJlbS1jYWxjKDcwKTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA4NSU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdhdGVkLWxhbmRpbmdfX2Jsb2NrLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLmdhdGVkLWxhbmRpbmdfX2xpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuXG4gICAgbGkge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoNyk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEhlYWRlclxucGFydGlhbDogc2ctaGVhZGVyXG5zZWxlY3RvcjogLmhlYWRlclxuKi9cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDI1KSByZW0tY2FsYyg1KSByZ2JhKCRibGFjaywgLjE1KTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogei1pbmRleChoZWFkZXIpO1xuXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLWltcG9ydGFudFxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGVhZGVyX190b3AsXG4uaGVhZGVyX19ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nO1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xufVxuXG4uaGVhZGVyX190b3Age1xuICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiByZW0tY2FsYyg2OCk7XG4gIC8vIG1pbi13aWR0aDogcmVtLWNhbGMoMzEwKTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgd2lkdGg7XG4gIHdpZHRoOiBhdXRvO1xuICB3aWxsLWNoYW5nZTogaGVpZ2h0LCB3aWR0aDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAuaGVhZGVyX19sb2dvIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgfVxuXG4gIC5oZWFkZXJfX3RvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbWlkO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLmhlYWRlcl9fYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skZ2xvYmFsLXBhZGRpbmcgLyAyfTtcbiAgICBwYWRkaW5nLXRvcDogI3skZ2xvYmFsLXBhZGRpbmcgLyAyfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gIC5oZWFkZXIge1xuICAgICY6bm90KC5jYW1wYWlnbi1oZWFkZXIpLmlzLXN0aWNreSB7XG4gICAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXItdXRpbGl0aWVzX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlcl9fYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLmhlYWRlci1uYXZfX3dyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyLXNlYXJjaF9fY2xvc2Uge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX190b3Age1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmhlYWRlcl9fYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWJvdHRvbSAuM3M7XG4gICAgd2lsbC1jaGFuZ2U6IHBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX3dyYXAge1xuICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIC4zcztcbiAgICB3aWxsLWNoYW5nZTogbWFyZ2luLXRvcDtcbiAgfVxufVxuIiwiLmhlYWRlci1mZWF0dXJlIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLy8gYmFja2dyb3VuZCAxXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC8vIGJhY2tncm91bmQgMlxuICAmOjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAubGluay0tbW9yZSB7XG4gICAgLmljb24uZmEge1xuICAgICAgbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgICB0b3A6IC4xZW07XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC5pY29uLmZhIHtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItZmVhdHVyZV9fYmFja2dyb3VuZC0tMSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgZmxleDogMCAwIDIyJTtcbiAgICBtYXgtd2lkdGg6IDIyJTtcbiAgfVxufVxuXG4uaGVhZGVyLWZlYXR1cmUtLW9yYW5nZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgLmhlYWRlci1mZWF0dXJlX190aXRsZSB7XG4gICAgLmxpbmsge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcmVkLWJyaWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2UtcGFsZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWZlYXR1cmVfX2JhY2tncm91bmQtLTEsXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZS1saWdodDtcbiAgfVxuXG4gIC5oZWFkZXItZmVhdHVyZV9fYmFja2dyb3VuZC0tMixcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2UtZGFyaztcbiAgfVxufVxuXG4uaGVhZGVyLWZlYXR1cmVfX2JhY2tncm91bmQge1xuICBwYWRkaW5nLWJvdHRvbTogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcbiAgcGFkZGluZy10b3A6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG59XG5cbi5oZWFkZXItZmVhdHVyZV9fdGl0bGUge1xuICBAZXh0ZW5kICV2ZXJ0aWNhbC1tYXJnaW4tMDtcbiAgQGV4dGVuZCAlZnJhbmtsaW4tZ290aGljO1xuICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gIEBleHRlbmQgJXRyYWNraW5nLXNtYWxsO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICAvLyBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtcGFkZGluZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IHJlbS1jYWxjKC00KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgfVxufVxuXG4uaGVhZGVyLWZlYXR1cmVfX21lbnUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZzogMCAxcmVtO1xufVxuXG4uaGVhZGVyLWZlYXR1cmVfX2l0ZW0ge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAvIDJ9O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbiIsIi8vIC5oZWFkZXItbG9naW4ge1xuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgIHotaW5kZXg6IDI7XG4vLyB9XG5cbi8vIC5oZWFkZXItbG9naW5fX3RvZ2dsZSB7XG4vLyAgIC5pcy1oZWFkZXItbG9naW4tb3BlbiAmIHtcbi8vICAgICBjb2xvcjogJGJsdWUtZGFyaztcbi8vICAgfVxuLy8gfVxuXG4vLyAuaGVhZGVyLWxvZ2luX19mbHlvdXQge1xuLy8gICBiYWNrZ3JvdW5kOiAkYmx1ZS1kYXJrO1xuLy8gICBsZWZ0OiA1MCU7XG4vLyAgIG9wYWNpdHk6IDA7XG4vLyAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDEwMCU7XG4vLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuLy8gICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4vLyAgIHdpZHRoOiByZW0tY2FsYygzMzApO1xuLy8gICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4vLyAgICY6OmJlZm9yZSB7XG4vLyAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMTIpIHNvbGlkICRibHVlLWRhcms7XG4vLyAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDI3KXNvbGlkIHRyYW5zcGFyZW50O1xuLy8gICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMjcpIHNvbGlkIHRyYW5zcGFyZW50O1xuLy8gICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgIGhlaWdodDogMDtcbi8vICAgICBsZWZ0OiA1MCU7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHRvcDogcmVtLWNhbGMoLTEyKTtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoLjk5OSk7XG4vLyAgICAgd2lkdGg6IDA7XG4vLyAgIH1cblxuLy8gICAuaXMtaGVhZGVyLWxvZ2luLW9wZW4gJiB7XG4vLyAgICAgb3BhY2l0eTogMTtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCByZW0tY2FsYygyMSkpO1xuLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4vLyAgIH1cbi8vIH1cblxuLy8gLmhlYWRlci1sb2dpbl9fbWVudSB7XG4vLyAgIEBleHRlbmQgJWZyYW5rbGluLWdvdGhpYztcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgZmxleC1mbG93OiByb3cgd3JhcDtcbi8vICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbi8vICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4vLyAgIC5saW5rLS1tb3JlIHtcbi8vICAgICAmOjphZnRlciB7XG4vLyAgICAgICBsZWZ0OiAtM3B4O1xuLy8gICAgIH1cblxuLy8gICAgICY6aG92ZXIge1xuLy8gICAgICAgY29sb3I6ICRibHVlLWxpZ2h0O1xuXG4vLyAgICAgICAmOjphZnRlciB7XG4vLyAgICAgICAgIGxlZnQ6IDA7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi8vIC5oZWFkZXItbG9naW5fX2Nsb3NlIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICByaWdodDogJGdsb2JhbC1tYXJnaW47XG4vLyAgIHRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vICAgLmljb24ge1xuLy8gICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuLy8gICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4vLyAgIH1cbi8vIH1cblxuLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuLy8gICAuaGVhZGVyLWxvZ2luX19mbHlvdXQge1xuLy8gICAgIHBvc2l0aW9uOiBmaXhlZDtcbi8vICAgICB0b3A6IGF1dG87XG4vLyAgICAgd2lkdGg6IDEwMHZ3O1xuXG4vLyAgICAgJjo6YmVmb3JlIHtcbi8vICAgICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgICAgfVxuXG4vLyAgICAgLmlzLWhlYWRlci1sb2dpbi1vcGVuICYge1xuLy8gICAgICAgb3BhY2l0eTogMTtcbi8vICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsICN7JGdsb2JhbC1tYXJnaW4gLyAxLjI1fSk7XG4vLyAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG4ubG9nb3V0LWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxvZ291dC1kcm9wZG93bi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDk1NDFlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDowLjc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4gICAgLmxvZ291dC1kcm9wZG93bi1jb250ZW50IGEge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICAgICAubG9nb3V0LWRyb3Bkb3duLWNvbnRlbnQ6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmOWFkNGE7XG4gICAgICAgIH1cbiAgICAubG9nb3V0LWRyb3Bkb3duLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuNzVyZW0gc29saWQgI2Q5NTQxZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEuNjg3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxLjY4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgdG9wOiAtMC43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjk5OSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC45OTkpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC45OTkpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG5cbi5sb2dvdXQtZHJvcGRvd246aG92ZXIgLmxvZ291dC1kcm9wZG93bi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn0iLCJAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gIC5oZWFkZXItbmF2IHtcbiAgICBib3gtc2hhZG93OiAwIHJlbS1jYWxjKDgpIHJlbS1jYWxjKDI0KSAwIHJnYmEoJGJsYWNrLCAuMTUpO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX3dyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaXMtaGVhZGVyLW5hdi1vcGVuICYge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbWVudSxcbiAgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgcGFkZGluZy10b3A6ICN7JGdsb2JhbC1wYWRkaW5nICogMS41fTtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19tZW51LFxuICAuaGVhZGVyLW5hdl9fc3VibWVudSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkZ2xvYmFsLXBhZGRpbmcgI3skZ2xvYmFsLXBhZGRpbmcgKiAyfSAjey0kZ2xvYmFsLXBhZGRpbmcgLyAyfSByZ2JhKCRibGFjaywgLjEpO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0sXG4gIC5oZWFkZXItbmF2X19zdWJpdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgPiAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmhlYWRlci1uYXZfX2l0ZW0tLXV0aWxpdHkpIHtcbiAgICAgICsgLmhlYWRlci1uYXZfX2l0ZW0tLXV0aWxpdHkge1xuICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1taWQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgICBwYWRkaW5nLXRvcDogI3skZ2xvYmFsLXBhZGRpbmcgLyAyfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5oZWFkZXItbmF2X19saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnJhbmtsaW4tZ290aGljLWNvbmQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtLS11dGlsaXR5IHtcbiAgICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luIC8gMn07XG5cbiAgICA+IC5oZWFkZXItbmF2X19saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZnJhbmtsaW4tZ290aGljO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcblxuICAgID4gbGkge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhY2tpbmcoNjApO1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS1zbGF0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWMtY29uZDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDQnO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbmF2X19zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWMtY29uZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fc3ViaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAvIDEuNX07XG4gICAgcGFkZGluZy1sZWZ0OiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuXG4gICAgPiAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICBmb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fc3ViaXRlbS0tc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xpbmsge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAuaGVhZGVyLW5hdl9fbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIH1cblxuICAuaGVhZGVyOm5vdCguY2FtcGFpZ24taGVhZGVyKSB7XG4gICAgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgICAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIC5oZWFkZXItZmVhdHVyZSA+IC5yb3cge1xuICAgICAgLy8gICBvcGFjaXR5OiAwO1xuICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgLy8gICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgICAgIC8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgICAgLy8gfVxuXG4gICAgICAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45OTkpIHRyYW5zbGF0ZSgtNTAlLCAjeyRnbG9iYWwtbWFyZ2luICsgMX0pO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIC5oZWFkZXItbmF2X19zdWJtZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC8vIC5oZWFkZXItZmVhdHVyZSA+IC5yb3cge1xuICAgICAgICAgIC8vICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAvLyB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMTIpIHNvbGlkICRvcmFuZ2UtZGFyaztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygyNykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDI3KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgJGdsb2JhbC1tYXJnaW4pO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci5pcy1zdGlja3kge1xuICAgIC5oZWFkZXItbmF2X19pdGVtLmlzLWFjdGl2ZSAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgdHJhY2tpbmcoNjApO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGZyYW5rbGluLWdvdGhpYztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDUpIHJnYmEoJGJsYWNrLCAuMTUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIkdG9nZ2xlLXdpZHRoLW1lZGl1bTogcmVtLWNhbGMoNTApO1xuJHRvZ2dsZS13aWR0aC1zbWFsbDogcmVtLWNhbGMoNDApO1xuXG4uaGVhZGVyLXNlYXJjaF9fZmx5b3V0IHtcbiAgQGV4dGVuZCAlZmx5b3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgLjQpO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IHotaW5kZXgoaGVhZGVyLXNlYXJjaCk7XG5cbiAgLmlzLWhlYWRlci1zZWFyY2gtb3BlbiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAuaGVhZGVyLXNlYXJjaF9fZm9ybSB7XG4gICAgICBAZXh0ZW5kICVzaGFkb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1zZWFyY2hfX3RvZ2dsZSxcbi5oZWFkZXItc2VhcmNoX19jbG9zZSB7XG4gIHdpZHRoOiAkdG9nZ2xlLXdpZHRoLW1lZGl1bTtcbn1cblxuLmhlYWRlci1zZWFyY2hfX3RvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICRvcmFuZ2UtZGFyaztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGhlaWdodDogJHRvZ2dsZS13aWR0aC1tZWRpdW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzO1xuXG4gIC5pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHJlZC1taWQ7XG4gIH1cbn1cblxuLmhlYWRlci1zZWFyY2hfX3RvZ2dsZS0tc21hbGwge1xuICBoZWlnaHQ6ICR0b2dnbGUtd2lkdGgtc21hbGw7XG4gIHdpZHRoOiAkdG9nZ2xlLXdpZHRoLXNtYWxsO1xuXG4gIC5pY29uIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICB9XG59XG5cbi5oZWFkZXItc2VhcmNoX19jbG9zZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCByZW0tY2FsYygtMzApIHJlbS1jYWxjKDM4KSByZW0tY2FsYyg1KSByZ2JhKDQsIDIsIDAsIC4yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBoZWlnaHQ6ICR0b2dnbGUtd2lkdGgtc21hbGw7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogJHRvZ2dsZS13aWR0aC1zbWFsbDtcblxuICAuaWNvbiB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDE2KTtcbiAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaF9fZm9ybSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuM3MgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG5cbiAgLmZpZWxkLmZpZWxkLS10ZXh0IHtcbiAgICBAZXh0ZW5kICVmcmFua2xpbi1nb3RoaWM7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0b2dnbGUtd2lkdGgtc21hbGw7XG5cbiAgICBpbnB1dCxcbiAgICAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5LW1pZDtcbiAgICB9XG5cbiAgICAmLmlzLWZpbGxlZC1sYWJlbCB7XG4gICAgICAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMTIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbC10ZXh0IHtcbiAgICAgIGNvbG9yOiAkZ3JheS1taWQ7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItc2VhcmNoX19pY29uIHtcbiAgaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IC0jeyRnbG9iYWwtbWFyZ2luIC8gMS41fTtcbiAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAuaGVhZGVyLXNlYXJjaF9fY2xvc2Uge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTE2KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjNzIGVhc2U7XG4gICAgd2lkdGg6ICR0b2dnbGUtd2lkdGgtbWVkaXVtO1xuXG4gICAgLmlzLXN0aWNreSAmIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoODIpO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcbiAgICBwYWRkaW5nLXRvcDogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcblxuICAgIC5maWVsZC5maWVsZC0tdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICR0b2dnbGUtd2lkdGgtbWVkaXVtO1xuXG4gICAgICAmLmZpZWxkLS1mb2N1c2VkLFxuICAgICAgJi5pcy1maWxsZWQtbGFiZWwge1xuICAgICAgICAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItc2VhcmNoX19pY29uIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICByaWdodDogLSRnbG9iYWwtbWFyZ2luO1xuICAgIHdpZHRoOiByZW0tY2FsYygyNSk7XG4gIH1cbn1cbiIsIiR0b2dnbGUtc3BlZWQ6IC4ycztcblxuLmhlYWRlci10b2dnbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzNHB4O1xufVxuXG4uaGVhZGVyLXRvZ2dsZV9fc3ZnIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0b2dnbGUtc3BlZWQ7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgLmlzLWhlYWRlci1uYXYtb3BlbiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZV9fbGluZSB7XG4gIHN0cm9rZTogJGJsYWNrO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIHN0cm9rZS1taXRlcmxpbWl0OiAxMDtcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIC8vIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlICR0b2dnbGUtc3BlZWQsIHRyYW5zZm9ybSAkdG9nZ2xlLXNwZWVkO1xuICB3aWxsLWNoYW5nZTogc3Ryb2tlLCB0cmFuc2Zvcm07XG5cbiAgLmlzLWZpcmVmb3ggJixcbiAgLmlzLWlPUy0xMSAmIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgfVxuXG4gIC5pcy1pT1M6bm90KC5pcy1pT1MtMTEpICYge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB9XG5cbiAgLmlzLWhlYWRlci1uYXYtb3BlbiAmIHtcbiAgICBzdHJva2U6ICRvcmFuZ2UtZGFyaztcblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSguNzUpIHRyYW5zbGF0ZVgoLTcwJSk7XG5cbiAgICAgIC5pcy1maXJlZm94ICYsXG4gICAgICAuaXMtc2FmYXJpLmlzLWlPUy0xMSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKC43NSkgdHJhbnNsYXRlWCgtNzAlKTtcbiAgICAgIH1cblxuICAgICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSguNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHN0cm9rZTogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSguNzUpIHRyYW5zbGF0ZVgoMjAlKTtcblxuICAgICAgLmlzLWZpcmVmb3ggJixcbiAgICAgIC5pcy1zYWZhcmkuaXMtaU9TLTExICYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKC43NSkgdHJhbnNsYXRlWCgyMCUpO1xuICAgICAgfVxuXG4gICAgICAuaXMtaU9TOm5vdCguaXMtaU9TLTExKSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSguNzUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZV9fdGV4dCB7XG4gIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gIHRyYW5zaXRpb246IGNvbG9yICR0b2dnbGUtc3BlZWQ7XG4gIHdpbGwtY2hhbmdlOiBjb2xvcjtcblxuICAuaXMtaGVhZGVyLW5hdi1vcGVuICYge1xuICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gIH1cbn1cbiIsIi5oZWFkZXItdG9waWNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uaGVhZGVyLXRvcGljc19fdG9nZ2xlIHtcbiAgYWxpZ24taXRlbXM6IG1pZGRsZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBsZWZ0OiAjeyRnbG9iYWwtcGFkZGluZyAqIC4yNX07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gei1pbmRleDogMjtcblxuICAuaGVhZGVyLXRvcGljc19faWNvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5oZWFkZXItdG9waWNzX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vbWVudS1kb3RzLS1vcmFuZ2Uuc3ZnJyk7XG4gICAgfVxuICB9XG5cbiAgLmlzLWhlYWRlci10b3BpY3Mtb3BlbiAmIHtcbiAgICAuaGVhZGVyLXRvcGljc19faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL2Nsb3NlLS1vcmFuZ2Uuc3ZnJyk7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItdG9waWNzX19pY29uIHtcbiAgaGVpZ2h0OiByZW0tY2FsYygxMik7XG4gIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNik7XG4gIHdpZHRoOiByZW0tY2FsYygxMik7XG59XG5cbi5oZWFkZXItdG9waWNzX19mbHlvdXQge1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAuODVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0jeyRnbG9iYWwtbWFyZ2luICogMS4zM307XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IHJlbS1jYWxjKDE1OXB4KTtcblxuICAuaXMtaGVhZGVyLXRvcGljcy1vcGVuICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLmhlYWRlci10b3BpY3NfX21lbnUge1xuICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmhlYWRlci10b3BpY3NfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luIC8gMS41fTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAuaGVhZGVyLXRvcGljc19fZmx5b3V0IHtcbiAgICBsZWZ0OiAtI3skZ2xvYmFsLW1hcmdpbiAvIDIuMX07XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IHJlbS1jYWxjKDE2MHB4KTtcblxuICAgIC5pcy1oZWFkZXItdG9waWNzLW9wZW4gJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEyKSBzb2xpZCAkbWFnZW50YS1kYXJrO1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDI3KXNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYygyNykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDMzJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSguOTk5KTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItdG9waWNzX19tZW51IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4iLCIuaGVhZGVyLXV0aWxpdGllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLmhlYWRlci11dGlsaXRpZXNfX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5oZWFkZXItdXRpbGl0aWVzX19pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5LW9mZndoaXRlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwICN7JGdsb2JhbC1wYWRkaW5nIC8gMS41fTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmhlYWRlci11dGlsaXRpZXNfX2l0ZW0tLWxvZ2luIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5oZWFkZXItdXRpbGl0aWVzX19pdGVtLS10b3BpY3Mge1xuICBib3JkZXItbGVmdDogMDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi5oZWFkZXItdXRpbGl0aWVzX19pdGVtLS1zZWFyY2gge1xuICBib3JkZXItbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAuaGVhZGVyLXV0aWxpdGllc19faXRlbS0tbG9naW4ge1xuICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1vZmZ3aGl0ZTtcbiAgfVxuXG4gIC5oZWFkZXItdXRpbGl0aWVzX19pdGVtLS10b3BpY3Mge1xuICAgIGhlaWdodDogMTNweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICN7JGdsb2JhbC1wYWRkaW5nICogMi41fTtcbiAgfVxufVxuIiwiLmhvdmVyLXJldmVhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aG92ZXIge1xuICAgIC5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgKyAuYm9yZGVyZWQtLWdyZWVuIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW4tdGVhbDtcbiAgICB9XG4gIH1cbn1cblxuLmhvdmVyLXJldmVhbC0tdGVhbCB7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4tdGVhbCwgLjc1KTtcbiAgfVxufVxuXG4uaG92ZXItcmV2ZWFsLS1pbWFnZSB7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMjgwKTtcbn1cblxuLmhvdmVyLXJldmVhbF9faGlkZGVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gIC5ob3Zlci1yZXZlYWxfX2hpZGRlbiB7XG4gICAgcGFkZGluZzogMS44cmVtIDFyZW07XG4gIH1cbn1cbiIsImhyIHtcbiAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbGlnaHQ7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xuXG4gICYud2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCJodG1sLFxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgJi5jb25mZXJlbmNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZi1ncmVlbi1taWQ7XG4gIH1cbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuIiwiLy8gVXNlZCBmb3IgU1ZHIGljb25zIHRoYXQgYXJlbid0IHBhcnQgb2YgdGhlIGZvbnQtYXdlc29tZSBsaWJyYXJ5XG4uaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmljb24tLXBkZiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vcGRmLS1vcmFuZ2UucG5nJyk7XG59XG5cbi5pY29uLS1hcnJvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQuc3ZnJyk7XG59XG5cbi5pY29uLS1hcnJvdy1yaWdodC1jaXJjbGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL2Fycm93LWNpcmNsZS5zdmcnKTtcbn1cblxuLmljb24tLWNsb3NlLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9jbG9zZS0td2hpdGUuc3ZnJyk7XG59XG5cbi5pY29uLS1hcnJvdy0zZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctM2QtLXdoaXRlLnN2ZycpO1xufVxuXG4uaWNvbi0tYXJyb3ctM2QtbmF2eSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctM2QtLW5hdnkuc3ZnJyk7XG59XG5cbi5pY29uLS1jbG9zZS1ncmF5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9jbG9zZS0tZ3JheS5zdmcnKTtcbn1cblxuLmljb24tLWNsb3NlLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vY2xvc2UtLW9yYW5nZS5zdmcnKTtcbn1cblxuLmljb24tLWNsb3NlLW9yYW5nZS1kYXJrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9jbG9zZS0tb3JhbmdlLWRhcmsuc3ZnJyk7XG59XG5cbi5pY29uLS1tZW51IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9tZW51LnN2ZycpO1xufVxuXG4uaWNvbi0tc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9zZWFyY2guc3ZnJyk7XG59XG5cbi5pY29uLS1zZWFyY2gtZ3JheSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vc2VhcmNoLS1ncmF5LnN2ZycpO1xufVxuXG4uaWNvbi0tdG9waWNzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9tZW51LWRvdHMuc3ZnJyk7XG59XG5cbi5pY29uLS1sb2NrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9sb2NrLS1ob3Zlci5zdmcnKTtcbn1cblxuLmljb24tLWdsYXNzZXMtcmVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9nbGFzc2VzLS1yZWQucG5nJyk7XG59XG5cbi5pY29uLS1jbG9zZSB7XG4gIG9wYWNpdHk6IC44O1xuICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gTnVtYmVyXG5wYXJ0aWFsOiBzZy1pbmZvZ3JhcGhpY3MtbnVtYmVyXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1udW1iZXJcbiovXG5cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gTnVtYmVyc1xucGFydGlhbDogaW5mb2dyYXBoaWNzLW51bWJlcnNcbmNvbnRleHQ6IGluZm9ncmFwaGljcy5hbXMtbnVtYmVycy0yXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1udW1iZXJzXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBJbmZvZ3JhcGhpYyAtIExpc3RcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1saXN0XG5jb250ZXh0OiBpbmZvZ3JhcGhpY3MubGlzdFxuc2VsZWN0b3I6IC5pbmZvZ3JhcGhpY3MtbGlzdFxuKi9cblxuLyogWUFQTFxubmFtZTogSW5mb2dyYXBoaWMgLSBRdW90ZVxucGFydGlhbDogaW5mb2dyYXBoaWNzLXF1b3RlXG5jb250ZXh0OiBpbmZvZ3JhcGhpY3MucXVvdGVcbnNlbGVjdG9yOiAuaW5mb2dyYXBoaWNzLXF1b3RlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBJbmZvZ3JhcGhpYyAtIFN0ZXBzXG5wYXJ0aWFsOiBpbmZvZ3JhcGhpY3Mtc3RlcHNcbmNvbnRleHQ6IGluZm9ncmFwaGljcy5zdGVwc1xuc2VsZWN0b3I6IC5pbmZvZ3JhcGhpY3Mtc3RlcHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IEluZm9ncmFwaGljIC0gSXRlbS1CYXIgKE51bWJlcilcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1pdGVtLWJhclxuY29udGV4dDogaW5mb2dyYXBoaWNzLml0ZW0tYmFyXG5zZWxlY3RvcjogLmluZm9ncmFwaGljcy1pdGVtLWJhclxuKi9cblxuLyogWUFQTFxubmFtZTogSW5mb2dyYXBoaWMgLSBJdGVtLUJhciAoVGV4dClcbnBhcnRpYWw6IGluZm9ncmFwaGljcy1pdGVtLWJhclxuY29udGV4dDogaW5mb2dyYXBoaWNzLml0ZW0tYmFyLTJcbnNlbGVjdG9yOiAuaW5mb2dyYXBoaWNzLWl0ZW0tYmFyXG4qL1xuXG4uaW5mb2dyYXBoaWNzLW51bWJlciB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gIC5pcy1lZGdlICYge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgLmluZm9ncmFwaGljcy1udW1iZXJfX3RpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tdGVhbDtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnJlbSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNHJlbSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3RhZy1jb3JuZXItLWdyZWVuLnBuZycpO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvdHRvbTogLTlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cblxuICAuaW5mb2dyYXBoaWNzLW51bWJlci10ZXh0LWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1udW1iZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJvcmRlci1pbWFnZTogdXJsKCcuLi9pbWcvYm9yZGVyLWRvdHMucG5nJyk7XG4gICAgYm9yZGVyLWltYWdlLXJlcGVhdDogcm91bmQ7XG4gICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyO1xuICAgIGJvcmRlci1pbWFnZS13aWR0aDogMnB4IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDA7XG4gICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLW51bWJlcl9faWNvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICB9XG5cbiAgLmluZm9ncmFwaGljcy1udW1iZXJfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzE1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQzMCk7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1udW1iZXJfX2NvbHVtbi1yaWdodCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLmluZm9ncmFwaGljcy1udW1iZXJfX2ljb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcblxuICAgICAgLmlzLWllICYge1xuICAgICAgICBmbGV4OiAwIDAgNDUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvZ3JhcGhpY3MtbnVtYmVyX19jb2x1bW4tcmlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG5cbiAgICAgIC5pcy1pZSAmIHtcbiAgICAgICAgZmxleDogMCAwIDQ1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmluZm9ncmFwaGljcy1udW1iZXJzLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci1pbWFnZTogdXJsKCcuLi9pbWcvYm9yZGVyLWRvdHMucG5nJyk7XG4gIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHJvdW5kO1xuICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gIGJvcmRlci1pbWFnZS13aWR0aDogMnB4IDAgMDtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIGJvcmRlci13aWR0aDogMnB4IDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDNyZW07XG4gIHBhZGRpbmc6IDNyZW0gMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDAgLjVyZW07XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLW51bWJlciAmIHtcbiAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDA7XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgYm9yZGVyLWltYWdlOiB1cmwoJy4uL2ltZy9ib3JkZXItZG90cy5wbmcnKTtcbiAgICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHJvdW5kO1xuICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyO1xuICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDAgMnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAycHg7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmluZ29ncmFwaGljcy1udW1iZXJzX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5nb2dyYXBoaWNzLW51bWJlcnNfX2l0ZW0tY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJvcmRlci1pbWFnZTogdXJsKCcuLi9pbWcvYm9yZGVyLWRvdHMucG5nJyk7XG4gICAgYm9yZGVyLWltYWdlLXJlcGVhdDogcm91bmQ7XG4gICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyO1xuICAgIGJvcmRlci1pbWFnZS13aWR0aDogMCAycHggMCAwO1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVycy1pY29uLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIHdpZHRoOiAxMTVweDtcbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3MtbnVtYmVyc19faWNvbiB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uaW5mb2dyYXBoaWNzLWl0ZW0tYmFyIHtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG5cbiAgLmluZm9ncmFwaGljcy1pdGVtLWJhcl9faXRlbSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLWl0ZW0tYmFyX19pbWFnZS1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE3MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmluZm9ncmFwaGljcy1xdW90ZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICB9XG5cbiAgLmluZm9ncmFwaGljcy1xdW90ZV9fY29udGVudCB7XG4gICAgYm9yZGVyOiA2cHggc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDY2cHg7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAzM3B4KTtcbiAgICAgIHRvcDogLTFyZW07XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDMzcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMy43NXJlbTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMy43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmluZm9ncmFwaGljcy1xdW90ZS0tb3JhbmdlLWxpZ2h0IHtcbiAgICAuaW5mb2dyYXBoaWNzLXF1b3RlX19jb250ZW50IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZS1saWdodDtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL3F1b3RhdGlvbi0tb3JhbmdlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvZ3JhcGhpY3MtcXVvdGVfX2F1dGhvciB7XG4gICAgICBjb2xvcjogJG9yYW5nZS1saWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLXF1b3RlX19pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTIwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMjAlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSAxcmVtIHJlbS1jYWxjKDQ1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMCkgMXJlbSByZW0tY2FsYyg1MCk7XG4gICAgfVxuXG4gICAgLmluZm9ncmFwaGljcy1xdW90ZV9fdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmlzLWlPUzpub3QoLmlzLWlPUy0xMSkgJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY3Mtc3RlcHMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5pbmZvZ3JhcGhpY3Mtc3RlcHMtaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHMtaGVhZGVyLWljb24ge1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3Mtc3RlcHNfX2l0ZW0taGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLXN0ZXBzLWhlYWRlci10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS1udW1iZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBoZWlnaHQ6IDg1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB3aWR0aDogODVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICB3aWR0aDogMTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS10aXRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1uYXZ5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAtMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIC41cmVtIDFyZW0gLjc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaW5mb2dyYXBoaWMtc3RlcC0tYmVmb3JlLnBuZycpO1xuICAgICAgbGVmdDogLTEycHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTRweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbGVmdDogLTE4cHg7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxlZnQ6IC0yMnB4O1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pbmZvZ3JhcGhpYy1zdGVwLS1hZnRlci5wbmcnKTtcbiAgICAgIHJpZ2h0OiAtMTdweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICByaWdodDogLTI2cHg7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICBsZWZ0OiAtMS41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGhlaWdodDogMTAzcHg7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgICAgYm90dG9tOiAtM3JlbTtcblxuICAgICAgLmRvdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICAmLmlzLXNlbGVjdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1uYXZ5O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaW5mb2dyYXBoaWNzLXN0ZXBzX19pdGVtIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgICBtYXJnaW46IDAgMy41JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHdpZHRoOiA4MiU7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ncmFwaGljcy1zdGVwcy1pdGVtLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmluZm9ncmFwaGljcy1zdGVwcy1pdGVtLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuXG4gICAgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmluZm9ncmFwaGljcy1zdGVwc19faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogY2FsYygzMyUgLSAxLjI1cmVtKTtcblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY3MtbGlzdCB7XG4gIG1hcmdpbjogMCAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3MtbGlzdC1oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLW1pZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gICAgd2lkdGg6IDkwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90YWctY29ybmVyLS1ncmVlbi5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBsZWZ0OiAtMTFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMnJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjhweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLWxpc3QtaGVhZGVyLWljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA3MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAxMjVweDtcbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLWxpc3QtaGVhZGVyLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuaW5mb2dyYXBoaWNzLWxpc3RfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAwIDJyZW07XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybCgnLi4vaW1nL2JvcmRlci1kb3RzLnBuZycpO1xuICAgICAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyO1xuICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDAgMnB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBib3JkZXItaW1hZ2U6IHVybCgnLi4vaW1nL2JvcmRlci1kb3RzLnBuZycpO1xuICAgICAgYm9yZGVyLWltYWdlLXJlcGVhdDogcm91bmQ7XG4gICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI7XG4gICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDAgMnB4IDAgMDtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDA7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbmZvZ3JhcGhpY3MtbGlzdF9faXRlbS1udW1iZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWxpbWUtbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nik7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMDApO1xuICAgICAgaGVpZ2h0OiAxODVweDtcbiAgICAgIHdpZHRoOiAxODVweDtcbiAgICB9XG4gIH1cbn1cblxuLmluZm9ncmFwaGljcy1jb250YWluZXIge1xuICAuYnV0dG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIH1cbn1cbiIsIi5pbWFnZS1maWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IG1pbi1oZWlnaHQgLjRzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gLmlzLWllICYge1xuICAgIC8vICAgaGVpZ2h0OiAwJTtcbiAgICAvLyB9XG4gIH1cblxuICAuaW1hZ2UtZmlsbF9fYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAuZmVhdHVyZS1pbWFnZSAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbi12aWV3LS1zbGlkZS11cCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmluLXZpZXdfX2VsZW1lbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpIHNjYWxlKDIuNSk7XG4gICAgdHJhbnNpdGlvbjogMS41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB9XG5cbiAgLy8gbXVzdCBiZSBwYWlyZWQgd2l0aCBpbi12aWV3LS1zbGlkZS11cFxuICAmLmluLXZpZXctLXNsaWRlLXVwLTQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAuaW4tdmlld19fZWxlbWVudCB7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAwJSwgMzAwJSkgc2NhbGUoMik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDMwMCUpIHNjYWxlKDIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xNXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMzAwJSkgc2NhbGUoMik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwMCUsIDMwMCUpIHNjYWxlKDIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWluLXZpZXcge1xuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLWltcG9ydGFudFxuICAgIC5pbi12aWV3X19lbGVtZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuaW5wYWdlLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wYWdlLW5hdl9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi10ZWFsO1xuICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkd2hpdGU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE0KTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHdpZHRoO1xuICB3aWR0aDogMTAwJTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWwtbWVkO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWwtZGFyaztcbiAgICB3aWR0aDogMTIwJTtcblxuICAgIC5pbnBhZ2UtbmF2X190ZXh0IHtcbiAgICAgIHdpZHRoOiA4My4zMzMlO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5pbnBhZ2UtbmF2X190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIubGluayB7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjI1cztcclxufVxyXG5cclxuLmxpbmstLWJsYWNrIHtcclxuICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1vcmFuZ2Uge1xyXG4gIGNvbG9yOiAkb3JhbmdlLWRhcms7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJHJlZC1taWQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubGluay0tb3JhbmdlLXZlcnktcGFsZSB7XHJcbiAgY29sb3I6ICRvcmFuZ2UtdmVyeS1wYWxlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubGluay0tZ3JlZW4tcGFsZSB7XHJcbiAgY29sb3I6ICRncmVlbi1wYWxlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1yZWQtbWlkIHtcclxuICBjb2xvcjogJHJlZC1taWQ7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJHJlZC1kYXJrO1xyXG4gIH1cclxufVxyXG5cclxuLmxpbmstLXB1cnBsZSxcclxuLmxpbmstLW1hZ2VudGEtZGFyayB7XHJcbiAgY29sb3I6ICRtYWdlbnRhLWRhcms7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJG9yYW5nZS1saWdodDtcclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1tYWdlbnRhLXBhbGUge1xyXG4gIGNvbG9yOiAkbWFnZW50YS1wYWxlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6IGxpZ2h0ZW4oJG1hZ2VudGEtcGFsZSwgOCUpO1xyXG4gIH1cclxufVxyXG5cclxuLmxpbmstLXdoaXRlIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubGluay0tbW9yZSB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAuaWNvbi5mYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBsZWZ0OiByZW0tY2FsYygxKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRyYW5zaXRpb246IGxlZnQgLjNzIGVhc2U7XHJcblxyXG4gICAgJi5mYS1jaGV2cm9uLXJpZ2h0LFxyXG4gICAgJi5mYS1jaGV2cm9uLWxlZnQge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IC43ZW07XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0uMjJyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmZhLWFuZ2xlLXJpZ2h0IHtcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC4xZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5idXR0b24pIHtcclxuICAgIC5pY29uLmZhIHtcclxuICAgICAgbGVmdDogcmVtLWNhbGMoNCk7XHJcblxyXG4gICAgICAmLmZhLWNoZXZyb24tcmlnaHQsXHJcbiAgICAgICYuZmEtY2hldnJvbi1sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaWNvbi0tYXJyb3ctM2Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XHJcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB3aWR0aDogcmVtLWNhbGMoNTgpO1xyXG5cclxuICAgICYuaWNvbi0tYXJyb3ctM2Qtc21hbGwge1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIzKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDExKTtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICAmOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgIC5pY29uLmZhIHtcclxuICAgICAgICAmLmZhLWNoZXZyb24tcmlnaHQsXHJcbiAgICAgICAgJi5mYS1jaGV2cm9uLWxlZnQsXHJcbiAgICAgICAgJi5mYS1hbmdsZS1yaWdodCxcclxuICAgICAgICAmLmZhLWFuZ2xlLWxlZnQge1xyXG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24uZmEge1xyXG4gICAgICAmLmZhLWNoZXZyb24tcmlnaHQsXHJcbiAgICAgICYuZmEtY2hldnJvbi1sZWZ0LFxyXG4gICAgICAmLmZhLWFuZ2xlLXJpZ2h0LFxyXG4gICAgICAmLmZhLWFuZ2xlLWxlZnQge1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAuaWNvbi0tYXJyb3ctM2Qge1xyXG4gICAgICAgIGFuaW1hdGlvbjogd2lnZ2xlIC41cztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5saW5rLS1tb3JlLWxvY2sge1xyXG4gICAgLmljb24uZmEuZmEtbG9jayB7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgJi5saW5rLS1tb3JlLWxhcmdlIHtcclxuICAgIC5pY29uLmZhIHtcclxuICAgICAgJi5mYS1jaGV2cm9uLXJpZ2h0LFxyXG4gICAgICAmLmZhLWNoZXZyb24tbGVmdCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRvcDogLjE1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmxpbmstLW1vcmUtc21hbGwge1xyXG4gICAgLmljb24uZmEge1xyXG4gICAgICAmLmZhLWNoZXZyb24tcmlnaHQsXHJcbiAgICAgICYuZmEtY2hldnJvbi1sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLWltcG9ydGFudFxyXG4gIC8vICY6OmFmdGVyIHtcclxuICAvLyAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAvLyAgIGNvbnRlbnQ6ICdcXDAwQTBcXGYxMDUnO1xyXG4gIC8vICAgZGlzcGxheTogaW5saW5lO1xyXG4gIC8vICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWUgIWltcG9ydGFudDtcclxuICAvLyAgIC8vIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgLy8gICBsZWZ0OiAwO1xyXG4gIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC8vICAgdHJhbnNpdGlvbjogbGVmdCAuM3MgZWFzZTtcclxuICAvLyAgIHdpbGwtY2hhbmdlOiBsZWZ0O1xyXG4gIC8vIH1cclxuICAvLyAmOmhvdmVyLFxyXG4gIC8vICY6Zm9jdXMge1xyXG4gIC8vICAgJjo6YWZ0ZXIge1xyXG4gIC8vICAgICBsZWZ0OiByZW0tY2FsYygzKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuXHJcbi5saW5rLS1tb3JlOmhvdmVyOm5vdCguYnV0dG9uKSAuaWNvbi5mYS5mYS1jaGV2cm9uLWxlZnQge1xyXG5cdHJpZ2h0OiAwLjU2MjVyZW07XHJcblx0bGVmdDogYXV0bztcclxufVxyXG5cclxuLmxpbmstLW1vcmU6bm90KC5idXR0b24pIC5pY29uLmZhLmZhLWNoZXZyb24tbGVmdCB7XHJcblx0cmlnaHQ6IDAuMjVyZW07XHJcblx0bGVmdDogYXV0bztcclxufVxyXG5cclxuLmxpbmstLW1vcmU6aG92ZXIgLmljb24uZmEuZmEtY2hldnJvbi1sZWZ0IHtcclxuXHRyaWdodDogMC41NjI1cmVtO1xyXG5cdGxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi5saW5rLS1sb2NrIHtcclxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuby1pbXBvcnRhbnRcclxuICAmOjphZnRlciB7XHJcbiAgICBjb2xvcjogJGdyYXktc2xhdGU7XHJcbiAgICBjb250ZW50OiAnXFwwMEEwXFxmMDIzJztcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hd2Vzb21lICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1leHRlcm5hbCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgY29udGVudDogJ1xcZjA4ZSc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtYXdlc29tZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC02cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ubGluay0tY29udGFjdCB7XHJcbiAgLmljb24ge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMnB4O1xyXG4gIH1cclxuXHJcbiAgJi5saW5rLS1ncmVlbi1wYWxlIHtcclxuICAgIC5pY29uIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1iYWNrIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICdcXGYwNTMnO1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWU7XHJcbiAgICBmb250LXNpemU6IC42ZW07XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogcmVtLWNhbGMoLTEpO1xyXG4gICAgdHJhbnNpdGlvbjogbGVmdCAuM3MgZWFzZTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiByZW0tY2FsYygtNCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGluay0tbmV4dCB7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdcXGYwNTMnO1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWU7XHJcbiAgICBmb250LXNpemU6IC42ZW07XHJcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogcmVtLWNhbGMoLTEpO1xyXG4gICAgdHJhbnNpdGlvbjogcmlnaHQgLjNzIGVhc2U7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogcmVtLWNhbGMoLTQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxpbmstLWFycm93LTNkIHtcclxuICAmLmJsdWUtbmF2eSB7XHJcbiAgICBjb2xvcjogJGJsdWUtbmF2eTtcclxuICB9XHJcblxyXG4gICYud2hpdGUge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuIiwiLypcbj09IG1hbGlodSBqcXVlcnkgY3VzdG9tIHNjcm9sbGJhciBwbHVnaW4gPT1cblBsdWdpbiBVUkk6IGh0dHA6Ly9tYW5vcy5tYWxpaHUuZ3IvanF1ZXJ5LWN1c3RvbS1jb250ZW50LXNjcm9sbGVyXG4qL1xuXG5cblxuLypcbkNPTlRFTlRTOlxuXHQxLiBCQVNJQyBTVFlMRSAtIFBsdWdpbidzIGJhc2ljL2Vzc2VudGlhbCBDU1MgcHJvcGVydGllcyAobm9ybWFsbHksIHNob3VsZCBub3QgYmUgZWRpdGVkKS5cblx0Mi4gVkVSVElDQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgdmVydGljYWwgc2Nyb2xsYmFyLlxuXHQzLiBIT1JJWk9OVEFMIFNDUk9MTEJBUiAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIGhvcml6b250YWwgc2Nyb2xsYmFyLlxuXHQ0LiBWRVJUSUNBTCBBTkQgSE9SSVpPTlRBTCBTQ1JPTExCQVJTIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgMi1heGlzIHNjcm9sbGJhcnMuXG5cdDUuIFRSQU5TSVRJT05TIC0gQ1NTMyB0cmFuc2l0aW9ucyBmb3IgaG92ZXIgZXZlbnRzLCBhdXRvLWV4cGFuZGVkIGFuZCBhdXRvLWhpZGRlbiBzY3JvbGxiYXJzLlxuXHQ2LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EU1xuXHRcdDYuMSBUSEVNRVMgLSBTY3JvbGxiYXIgY29sb3JzLCBvcGFjaXR5LCBkaW1lbnNpb25zLCBiYWNrZ3JvdW5kcyBldGMuIHZpYSByZWFkeS10by11c2UgdGhlbWVzLlxuKi9cblxuXG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuIEJBU0lDIFNUWUxFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0Lm1DdXN0b21TY3JvbGxiYXJ7IC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207IHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTsgLyogZGlyZWN0IHBvaW50ZXIgZXZlbnRzIHRvIGpzICovIH1cblx0Lm1DdXN0b21TY3JvbGxiYXIubUNTX25vX3Njcm9sbGJhciwgLm1DdXN0b21TY3JvbGxiYXIubUNTX3RvdWNoX2FjdGlvbnsgLW1zLXRvdWNoLWFjdGlvbjogYXV0bzsgdG91Y2gtYWN0aW9uOiBhdXRvOyB9XG5cblx0Lm1DdXN0b21TY3JvbGxCb3h7IC8qIGNvbnRhaW5zIHBsdWdpbidzIG1hcmt1cCAqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRkaXJlY3Rpb246IGx0cjtcblx0fVxuXG5cdC5tQ1NCX2NvbnRhaW5lcnsgLyogY29udGFpbnMgdGhlIG9yaWdpbmFsIGNvbnRlbnQgKi9cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi4gVkVSVElDQUwgU0NST0xMQkFSXG55LWF4aXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJ7IG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG5cdC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVueyBtYXJnaW4tcmlnaHQ6IDA7IH0gLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG5cblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyeyAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdH1cblxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnsgbWFyZ2luLWxlZnQ6IDA7IH0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIGNvbnRhaW5zIHNjcm9sbGJhciBtYXJrdXAgKGRyYWdnYWJsZSBlbGVtZW50LCBkcmFnZ2VyIHJhaWwsIGJ1dHRvbnMgZXRjLikgKi9cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgcmlnaHQ6IC0yNnB4OyB9IC8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHN7IGxlZnQ6IC0yNnB4OyB9IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAoc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlKSAqL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IC8qIGNvbnRhaW5zIHRoZSBkcmFnZ2FibGUgZWxlbWVudCBhbmQgZHJhZ2dlciByYWlsIG1hcmt1cCAqL1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IG1hcmdpbjogMjBweCAwOyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDJweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyeyAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnsgd2lkdGg6IDEycHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogOHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogMjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJvdHRvbTogMDsgfVxuXG5cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMy4gSE9SSVpPTlRBTCBTQ1JPTExCQVJcbngtYXhpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5cdC5tQ1NCX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cblxuXHQubUNTQl9ob3Jpem9udGFsLm1DU0Jfb3V0c2lkZSA+IC5tQ1NCX2NvbnRhaW5lcnsgbWluLWhlaWdodDogMTAwJTsgfVxuXG5cdC5tQ1NCX2hvcml6b250YWwgPiAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbnsgbWFyZ2luLWJvdHRvbTogMDsgfSAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdHRvcDogYXV0bztcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuXHQubUN1c3RvbVNjcm9sbEJveCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyBib3R0b206IC0yNnB4OyB9IC8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCBhICsgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcnsgbWFyZ2luOiAwIDIwcHg7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0bWFyZ2luOiA3cHggMDtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2Vye1xuXHRcdHdpZHRoOiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgd2lkdGggKi9cblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG1hcmdpbjogNnB4IGF1dG87XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDEycHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG5cdFx0bWFyZ2luOiAycHggYXV0bztcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGhlaWdodDogOHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbjogNHB4IDA7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvblJpZ2h0e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdHsgbGVmdDogMDsgfVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25SaWdodHsgcmlnaHQ6IDA7IH1cblxuXG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlNcbnl4LWF4aXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIgPiAubUNTQl9jb250YWluZXJ7XG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXG5cdC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FseyBib3R0b206IDIwcHg7IH1cblxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyByaWdodDogMjBweDsgfVxuXG5cdC8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXG5cdC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FseyBib3R0b206IDA7IH1cblxuXHQvKiBub24tdmlzaWJsZSB2ZXJ0aWNhbCBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scyB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyByaWdodDogMDsgfVxuXG5cdC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHQubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7IGxlZnQ6IDIwcHg7IH1cblxuXHQvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scyB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgbGVmdDogMDsgfVxuXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyeyAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdH1cblxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuID4gLm1DU0JfY29udGFpbmVyeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lcnsgcGFkZGluZy1ib3R0b206IDA7IH1cblxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVue1xuXHRcdG1hcmdpbi1yaWdodDogMDsgLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQvKiBub24tdmlzaWJsZSBob3Jpem9udGFsIHNjcm9sbGJhciAqL1xuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVueyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG41LiBUUkFOU0lUSU9OU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2JhciwgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1vei10cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW8tdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXG5cdFx0XHRcdFx0b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLFxuXHRcdFx0XHRcdG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLFxuXHRcdFx0XHRcdG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0fVxuXG5cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNi4gU0NST0xMQkFSIENPTE9SUywgT1BBQ0lUWSBBTkQgQkFDS0dST1VORFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQvKlxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDYuMSBUSEVNRVNcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQqL1xuXG5cdC8qIGRlZmF1bHQgdGhlbWUgKFwibGlnaHRcIikgKi9cblxuXHQubUNTQl9zY3JvbGxUb29sc3sgb3BhY2l0eTogMC43NTsgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgfVxuXG5cdC5tQ1MtYXV0b0hpZGUgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuXHQubUNTLWF1dG9IaWRlID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29sc3sgb3BhY2l0eTogMDsgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7IH1cblxuXHQubUN1c3RvbVNjcm9sbGJhciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsXG5cdC5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgPiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgfiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAxOyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9ODUpXCI7XG5cdH1cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwobUNTQl9idXR0b25zLnBuZyk7IC8qIGNzcyBzcHJpdGVzICovXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRvcGFjaXR5OiAwLjQ7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdFx0Lypcblx0XHRzcHJpdGVzIGxvY2F0aW9uc1xuXHRcdGxpZ2h0OiAwIDAsIC0xNnB4IDAsIC0zMnB4IDAsIC00OHB4IDAsIDAgLTcycHgsIC0xNnB4IC03MnB4LCAtMzJweCAtNzJweFxuXHRcdGRhcms6IC04MHB4IDAsIC05NnB4IDAsIC0xMTJweCAwLCAtMTI4cHggMCwgLTgwcHggLTcycHgsIC05NnB4IC03MnB4LCAtMTEycHggLTcycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xuXHRcdC8qXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnNcblx0XHRsaWdodDogMCAtMjBweCwgLTE2cHggLTIwcHgsIC0zMnB4IC0yMHB4LCAtNDhweCAtMjBweCwgMCAtOTJweCwgLTE2cHggLTkycHgsIC0zMnB4IC05MnB4XG5cdFx0ZGFyazogLTgwcHggLTIwcHgsIC05NnB4IC0yMHB4LCAtMTEycHggLTIwcHgsIC0xMjhweCAtMjBweCwgLTgwcHggLTkycHgsIC05NnB4IC05MnB4LCAtMTEyIC05MnB4XG5cdFx0Ki9cblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDtcblx0XHQvKlxuXHRcdHNwcml0ZXMgbG9jYXRpb25zXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcblx0XHQvKlxuXHRcdHNwcml0ZXMgbG9jYXRpb25zXG5cdFx0bGlnaHQ6IDAgLTU2cHgsIC0yMHB4IC01NnB4LCAtNDBweCAtNTZweCwgLTYwcHggLTU2cHgsIDAgLTEyOHB4LCAtMjBweCAtMTI4cHgsIC00MHB4IC0xMjhweFxuXHRcdGRhcms6IC04MHB4IC01NnB4LCAtMTAwcHggLTU2cHgsIC0xMjBweCAtNTZweCwgLTE0MHB4IC01NnB4LCAtODBweCAtMTI4cHgsIC0xMDBweCAtMTI4cHgsIC0xMjBweCAtMTI4cHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6aG92ZXIsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246aG92ZXIsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQ6aG92ZXIsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmhvdmVyeyBvcGFjaXR5OiAwLjc1OyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6YWN0aXZlLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duOmFjdGl2ZSxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDphY3RpdmUsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmFjdGl2ZXsgb3BhY2l0eTogMC45OyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyB9XG5cblxuXHQvKiB0aGVtZTogXCJkYXJrXCIgKi9cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjE1KTsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuXHQvKiB0aGVtZTogXCJsaWdodC0yXCIsIFwiZGFyay0yXCIgKi9cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMXB4OyBib3JkZXItcmFkaXVzOiAxcHg7XG5cdH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA0cHg7XG5cdFx0bWFyZ2luOiA2cHggYXV0bztcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44NSk7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjBweDsgfVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNDBweDsgfVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNTZweDsgfVxuXG5cblx0LyogdGhlbWU6IFwiZGFyay0yXCIgKi9cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xuXHR9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTsgfVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTIwcHg7IH1cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNDBweDsgfVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTU2cHg7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LXRoaWNrXCIsIFwiZGFyay10aGlja1wiICovXG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlci1yYWRpdXM6IDRweDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiA2cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlci1yYWRpdXM6IDRweDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogOHB4O1xuXHRcdG1hcmdpbjogNnB4IDA7XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdG1hcmdpbjogNXB4IGF1dG87XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjBweDsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTQwcHg7IH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4OyB9XG5cblxuXHQvKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7XG5cdH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC42NSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7XG5cdH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7IH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7IH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfVxuXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0yMHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTU2cHg7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LXRoaW5cIiwgXCJkYXJrLXRoaW5cIiAqL1xuXG5cdC5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiAycHg7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7IHdpZHRoOiAxMDAlOyB9XG5cblx0Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRtYXJnaW46IDdweCBhdXRvO1xuXHR9XG5cblxuXHQvKiB0aGVtZSBcImRhcmstdGhpblwiICovXG5cblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjE1KTsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwcHg7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU2cHg7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lIFwicm91bmRlZFwiLCBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsgfVxuXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcixcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcnsgaGVpZ2h0OiAxNHB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxNHB4O1xuXHRcdG1hcmdpbjogMCAxcHg7XG5cdH1cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDE0cHg7IH1cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0bWFyZ2luOiAxcHggMDtcblx0fVxuXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxNnB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHRcdGhlaWdodDogMTZweDtcblx0XHRtYXJnaW46IC0xcHggMDtcblx0fVxuXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDE2cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0bWFyZ2luOiAwIC0xcHg7XG5cdH1cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGhlaWdodDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbjogNnB4IDA7XG5cdH1cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTkycHg7IH1cblxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXG5cblx0LyogdGhlbWUgXCJyb3VuZGVkLWRhcmtcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG5cblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTsgfVxuXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xNSk7IH1cblxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpOyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTcycHg7IH1cblxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05MnB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cblxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cblxuXG5cdC8qIHRoZW1lIFwicm91bmRlZC1kb3RzXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbHsgd2lkdGg6IDRweDsgfVxuXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdH1cblxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQU5FbEVRVlFZVjJOa0lBQVlpVmJ3Ly85L1k2RGlNMUFOSm95TWpHZEJiTGdKUUFYL2tVMERLZ0RMa2FRQXZ4VzRIRXZRRndDUmN4SUpLMVh6bkFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuXHRcdG9wYWNpdHk6IDAuMztcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuXHR9XG5cblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRtYXJnaW46IDZweCAwO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0fVxuXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC03MnB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTJweDsgfVxuXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTExMnB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTEyOHB4OyB9XG5cblxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cblxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQUxFbEVRVlFZVjJOa0lBQVlTVkZnREZSOEJxckJCRWlmQmJHUlRmaVBaaHBZamlRRkJLM0E2bDZDdmdBQUU5a0dDZDFtdmdFQUFBQUFTVVZPUks1Q1lJST1cIik7XG5cdH1cblxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC03MnB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05MnB4OyB9XG5cblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTEycHg7IH1cblxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTI4cHg7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIsIFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNSkpLCBjb2xvci1zdG9wKDEwMCUscmdiYSgyNTUsMjU1LDI1NSwwKSkpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNSkpLCBjb2xvci1zdG9wKDEwMCUscmdiYSgyNTUsMjU1LDI1NSwwKSkpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHR9XG5cblxuXHQvKiB0aGVtZSBcIjNkXCIsIFwiM2QtZGFya1wiICovXG5cblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJ7IGhlaWdodDogNzBweDsgfVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDcwcHg7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xze1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcblx0fVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7IC1tb3otYm9yZGVyLXJhZGl1czogMTZweDsgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDhweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwwLDAsMC41KSwgaW5zZXQgLTFweCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgfVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyB3aWR0aDogOHB4OyB9XG5cblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA4cHg7XG5cdFx0bWFyZ2luOiA0cHggMDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjUpLCBpbnNldCAwIC0xcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcblx0fVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDhweDtcblx0XHRtYXJnaW46IDRweCBhdXRvO1xuXHR9XG5cblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDsgfVxuXG5cblx0LyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cblxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMSk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwwLDAsMC4xKTtcblx0fVxuXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSk7IH1cblxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblx0LyogdGhlbWU6IFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xze1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcblx0fVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyLFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyeyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDsgLW1vei1ib3JkZXItcmFkaXVzOiA3cHg7IGJvcmRlci1yYWRpdXM6IDdweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG5cdC5tQ1NCX2luc2lkZSArIC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcblx0Lm1DU0JfaW5zaWRlICsgLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IHJpZ2h0OiAxcHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FseyBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLDAsMCwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLDAuNSk7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtcblx0XHRib3R0b206IDFweDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLDAuNSk7XG5cdH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcblx0XHR3aWR0aDogMTJweDtcblx0XHRtYXJnaW46IDJweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDUpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMTZweCByZ2JhKDAsMCwwLDAuMSk7XG5cdH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuXG5cdC8qIHRoZW1lOiBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLDAuMik7IH1cblxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLDAuMik7IH1cblxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgaW5zZXQgLTFweCAwIDAgcmdiYSgwLDAsMCwwLjIpOyB9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwwLjIpOyB9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjA1KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLDAsMCwwLjEpO1xuXHR9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lOiBcIm1pbmltYWxcIiwgXCJtaW5pbWFsLWRhcmtcIiAqL1xuXG5cdC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bWFyZ2luOiAxMnB4IDA7XG5cdH1cblxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwgKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse1xuXHRcdGJvdHRvbTogMDtcblx0XHRtYXJnaW46IDAgMTJweDtcblx0fVxuXG5cdC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdH1cblxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLFxuXHQubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJ7IGhlaWdodDogNTBweDsgfVxuXG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJ7IHdpZHRoOiA1MHB4OyB9XG5cblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjtcblx0fVxuXG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7XG5cdH1cblxuXG5cdC8qIHRoZW1lOiBcIm1pbmltYWwtZGFya1wiICovXG5cblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4yKTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xuXHR9XG5cblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7XG5cdH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cdC8qIHRoZW1lIFwibGlnaHQtM1wiLCBcImRhcmstM1wiICovXG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG5cdH1cblxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiA2cHg7IH1cblxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA2cHg7XG5cdFx0bWFyZ2luOiA1cHggMDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMnB4O1xuXHR9XG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0bWFyZ2luOiAycHggMDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDsgfVxuXG5cblx0LyogdGhlbWUgXCJkYXJrLTNcIiAqL1xuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMSk7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuXHQvKiB0aGVtZSBcImluc2V0XCIsIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTJcIiwgXCJpbnNldC0yLWRhcmtcIiwgXCJpbnNldC0zXCIsIFwiaW5zZXQtMy1kYXJrXCIgKi9cblxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjIpO1xuXHR9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiA2cHg7XG5cdFx0bWFyZ2luOiAzcHggNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdG1hcmdpbjogNXB4IDNweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTJweDtcblx0XHRtYXJnaW46IDJweCAwO1xuXHR9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuXG5cdC8qIHRoZW1lIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTMtZGFya1wiICovXG5cblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7IH1cblxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpOyB9XG5cblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuXG5cdC8qIHRoZW1lIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiICovXG5cblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBib3JkZXItY29sb3I6ICMwMDA7IGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwwLjIpOyB9XG5cblxuXHQvKiB0aGVtZSBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7IH1cblxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNik7IH1cblxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpOyB9XG5cblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTsgfVxuXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvKiEgRmxpY2tpdHkgdjIuMC4xMFxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxpY2tpdHktc2xpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBkcmFnZ2FibGUgKi9cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDlGO1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphY3RpdmUge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHsgbGVmdDogMTBweDsgfVxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7IHJpZ2h0OiAxMHB4OyB9XG4vKiByaWdodCB0byBsZWZ0ICovXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7XG59XG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgZmlsbDogIzMzMztcbn1cblxuLyogLS0tLSBwYWdlIGRvdHMgLS0tLSAqL1xuXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMgeyBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufSIsIi8qIFlBUExcbm5hbWU6IE1lZGlhIElucXVpcmllc1xucGFydGlhbDogbWVkaWEtaW5xdWlyaWVzXG4qL1xuXG4ubWVkaWEtaW5xdWlyaWVzLWNvbHVtbiB7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgaDQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcblxuICAgICAgaDQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAucm93LmNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCJAa2V5ZnJhbWVzIGRhc2gge1xuICB0byB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbn1cblxuc3ZnLm9ybmFtZW50LFxuaW1nLm9ybmFtZW50IHtcbiAgLy8gei1pbmRleDogLTE7XG59XG5cbi5vcm5hbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm9ybmFtZW50LS1vZmZzZXQtdG9wIHtcbiAgdG9wOiByZW0tY2FsYyg5KTtcbn1cblxuLm9ybmFtZW50LS1vZmZzZXQtbGVmdCB7XG4gIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbn1cblxuLm9ybmFtZW50LS1vZmZzZXQtcmlnaHQge1xuICByaWdodDogcmVtLWNhbGMoMzApO1xufVxuXG4ub3JuYW1lbnQtLW9mZnNldC1ib3R0b20ge1xuICBib3R0b206IHJlbS1jYWxjKDkpO1xufVxuXG4ub3JuYW1lbnRfX2xpbmUge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6IHJnYmEoJGxpZ2h0LWdyYXksIC4yNSk7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDMxNjE7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAzMTYxO1xuXG4gIC5pcy1pbi12aWV3ICYge1xuICAgIGFuaW1hdGlvbjogZGFzaCA0cyBsaW5lYXIgZm9yd2FyZHM7XG4gIH1cbn1cblxuLm9ybmFtZW5kLS1yb3RhdGVkLWxlZnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5vcm5hbWVudC0tbGVmdCB7XG4gIGxlZnQ6IHJlbS1jYWxjKC0xODApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xufVxuIiwiLyogWUFQTFxubmFtZTogUGFnZSBDYWxsb3V0c1xucGFydGlhbDogc2ctcGFnZS1jYWxsb3V0c1xuc2VsZWN0b3I6IC5wYWdlLWNhbGxvdXRzXG4qL1xuXG4ucGFnZS1jYWxsb3V0c19fY2FsbG91dCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoNTApIHJlbS1jYWxjKDUwKSByZW0tY2FsYygxMDApO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuaWNvbi0tcGRmIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogLTZweDtcbiAgICB0b3A6IC02cHg7XG4gICAgd2lkdGg6IDI3cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWNhbGxvdXRzX19idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogUGFnZSBUZWFzZXJzXG5wYXJ0aWFsOiBwYWdlLXRlYXNlcnNcbmNvbnRleHQ6IHBhZ2UtdGVhc2Vycy5zZWNvbmRhcnktbGFuZGluZ1xuc2VsZWN0b3I6IC5wYWdlLXRlYXNlcnNcbiovXG5cbi5wYWdlLXRlYXNlcnMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcclxubmFtZTogUGFnaW5hdGlvblxyXG5wYXJ0aWFsOiBwYWdpbmF0aW9uLWJvdHRvbS1zZWFyY2hcclxuc2VsZWN0b3I6IC5wYWdpbmF0aW9uLWJvdHRvbVxyXG4qL1xyXG5cclxuLnBhZ2luYXRpb25fX2xpbmsge1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gIGhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIG1hcmdpbjogMCByZW0tY2FsYygzKTtcclxuICB3aWR0aDogcmVtLWNhbGMoNDApO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMsXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbl9fbGlua3Mge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbl9fdGV4dC1saW5rIHtcclxuICBjb2xvcjogJGJsdWUtbGlnaHQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xyXG5cclxuICAmLmxpbmstLW1vcmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRibHVlLWRhcms7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlcixcclxuICAmOjpiZWZvcmUge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbl9fdGV4dC1saW5rLS1uZXh0IHtcclxuICByaWdodDogLTcwcHg7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICAucGFnaW5hdGlvbi1zZWFyY2ggJiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICB9XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uX190ZXh0LWxpbmstLXByZXYge1xyXG4gIGxlZnQ6IC03MHB4O1xyXG5cclxuICAuaWNvbi5mYSB7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTtcclxuICAgIHdpbGwtY2hhbmdlOiByaWdodDtcclxuICB9XHJcbiAgXHJcbiAgLnBhZ2luYXRpb24tc2VhcmNoICYge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIC5pY29uLmZhIHtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhZ2luYXRpb25fX3ZpZXctYWxsIHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkYmx1ZS1saWdodDtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDJweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTNweDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2luYXRpb25fX2VsbGlwc2lzIHtcclxuICBtYXJnaW46IDAgNXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDEwcHg7XHJcbn1cclxuIiwiLnBhcGVyLWNvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IC0xN3B4IDE3cHggMzhweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIyKTtcblxuICAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMykgcmVtLWNhbGMoMzApO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLnBhcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wYXBlci1jb3JuZXIge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKSAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnBhcGVyLWNvcm5lci0tbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5wYXBlci0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIC5wYXBlci1jb3JuZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFwZXItLW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICRvcmFuZ2UtbGlnaHQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgMDtcblxuICAucGFwZXItY29ybmVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGkge1xuICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVkLWJyaWNrO1xuICAgIH1cbiAgfVxufVxuXG4ucGFwZXItLWNvbm5lY3Qge1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG4iLCIucGlwZSB7XG4gIGNvbG9yOiAkZ3JheS1taWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgcGFkZGluZzogMCAjeyRnbG9iYWwtcGFkZGluZyAvIDN9O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ3wnO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiLnBsYXllciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAucGx5cl9fY29udHJvbHMsXG4gIC5wbGF5ZXJfX3ZpZGVvIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucGxheWVyX192aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnBseXJfX2NvbnRyb2xzIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAucGxheWVyX19jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLnBsYXllcl9fY292ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5wbHlyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay10cnVlO1xuICAgIH1cblxuICAgIC5wbHlyX19jb250cm9scyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gICYucGxheWVyLS1yZXNpemUge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUge1xuICAucGx5cl9fY29udHJvbHMsXG4gIC5wbGF5ZXJfX3ZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLnBsYXllci0tYmFja2dyb3VuZCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcblxuICAucGxheWVyX192aWRlbyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAucGxheWVyX192aWRlbyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gLmlzLWlPUyAmIHtcbiAgLy8gICAucGxheWVyX192aWRlbyB7XG4gIC8vICAgICBvcGFjaXR5OiAxO1xuICAvLyAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC8vICAgfVxuXG4gIC8vICAgLnBsYXllcl9fdmlkZW8sXG4gIC8vICAgLnBseXJfX2NvbnRyb2xzIHtcbiAgLy8gICAgIG1heC13aWR0aDogbm9uZTtcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuLnBsYXllcl9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC40NSk7XG4gIC8vIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4ICR3aGl0ZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDc2KTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjVzLCBvcGFjaXR5IC4zM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IHJlbS1jYWxjKDc2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC5mZWF0dXJlLXRpbGVzICYge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2UtZGFyaztcbiAgfVxuXG4gIC5pcy1yZWFkeSAmLFxuICAuaXMtcmVhZHkgfiAqICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5pcy1hY3RpdmUgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyAuaXMtaU9TICYge1xuICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vIH1cbn1cblxuLnBsYXllcl9fYnV0dG9uLS1jZW50ZXJlZCB7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5wbGF5ZXJfX2J1dHRvbi0tbGFyZ2Uge1xuICBoZWlnaHQ6IDkwcHg7XG4gIHdpZHRoOiA5MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgaGVpZ2h0OiAxMzdweDtcbiAgICB3aWR0aDogMTM3cHg7XG4gIH1cbn1cblxuLnBsYXllcl9fdmlkZW8ge1xuICBmbGV4OiAxIDEgMTAwJTtcblxuICBpZnJhbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGxheWVyX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRnbG9iYWwtbWFyZ2luO1xuICB0b3A6IDA7XG59XG5cbi5wbHlyLS1yZWFkeSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBsYXllcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vcGxheS1jaXJjbGUuc3ZnJyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciB7XG4gIC5wbGF5ZXJfX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vY2FtcGFpZ24tcGxheS5wbmcnKTtcbiAgICBib3JkZXI6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgLnBsYXllcl9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVzaGFkb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDExMCk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDExMCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC5wbGF5ZXJfX2ljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL2NhbXBhaWduLXBsYXktLWhvdmVyLnBuZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBseXIgc3R5bGVzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Vsei9wbHlyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwicGx5ci12YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJwbHlyLW1peGluc1wiO1xuXG4vLyBBbmltYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGtleWZyYW1lcyBwbHlyLXByb2dyZXNzIHtcbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZSAwOyB9XG59XG5cbi8vIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZVxuLnBseXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG5cblxuICAgIEBpZiAkcGx5ci1ib3JkZXItYm94ID09IHRydWUge1xuICAgICAgICAvLyBib3JkZXItYm94IGV2ZXJ5dGhpbmdcbiAgICAgICAgLy8gaHR0cDovL3BhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3L1xuICAgICAgICAmLFxuICAgICAgICAqLFxuICAgICAgICAqOjphZnRlcixcbiAgICAgICAgKjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBseXItdG91Y2gtYWN0aW9uID09IHRydWUge1xuICAgICAgLy8gRml4IDMwMG1zIGRlbGF5XG4gICAgICBhLCBidXR0b24sIGlucHV0LCBsYWJlbCB7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLy8gTWVkaWEgZWxlbWVudHNcbiAgICB2aWRlbyxcbiAgICBhdWRpbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gUmFuZ2UgaW5wdXRzXG4gICAgLy8gU3BlY2lmaWNpdHkgaXMgZm9yIGJvb3RzdHJhcCBjb21wYXRpYmlsaXR5XG4gICAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICgkcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQgKiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2NhbGUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBXZWJLaXRcbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10cmFjaygpO1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oKCRwbHlyLXJhbmdlLXRodW1iLWhlaWdodCAtICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodCkgLyAyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1vemlsbGFcbiAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNaWNyb3NvZnRcbiAgICAgICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgICAgICAgIGhlaWdodDogJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10cmFjaygpO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdHJhY2soKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iKCk7XG4gICAgICAgICAgICAvLyBGb3Igc29tZSByZWFzb24sIEVkZ2UgdXNlcyB0aGUgLXdlYmtpdCBtYXJnaW4gYWJvdmVcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1zLXRvb2x0aXAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0eWxlc1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi50YWItZm9jdXM6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXNzZWQgc3R5bGVzXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVmlkZW8gcmFuZ2UgaW5wdXRzXG4ucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT0ncmFuZ2UnXS50YWItZm9jdXM6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnRpemUoJHBseXItdmlkZW8tY29udHJvbC1jb2xvciwgLjUpO1xufVxuXG4vLyBBdWRpbyByYW5nZSBpbnB1dHNcbi5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPSdyYW5nZSddLnRhYi1mb2N1czpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudGl6ZSgkcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLCAuNSk7XG59XG5cbi8vIFNjcmVlbiByZWFkZXIgb25seSBlbGVtZW50c1xuLnBseXJfX3NyLW9ubHkge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gIWltcG9ydGFudCBpcyBub3QgYWx3YXlzIG5lZWRlZFxuICAgIEBpZiAkcGx5ci1zci1vbmx5LWltcG9ydGFudCA9PSB0cnVlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgIH1cbn1cblxuLy8gVmlkZW9cbi5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuXG4vLyAvLyBDb250YWluZXIgZm9yIGVtYmVkc1xuLy8gLnBseXJfX3ZpZGVvLWVtYmVkIHtcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4vLyAgICAgaGVpZ2h0OiAwO1xuLy8gICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cbi8vICAgICAvLyBSZXF1aXJlIG92ZXJmbG93IGFuZCB6LWluZGV4IHRvIGZvcmNlIGJvcmRlci1yYWRpdXNcbi8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8gICAgIHotaW5kZXg6IDA7XG5cbi8vICAgICBpZnJhbWUge1xuLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgIHRvcDogMDtcbi8vICAgICAgICAgbGVmdDogMDtcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIGhlaWdodDogMTAwJTtcbi8vICAgICAgICAgYm9yZGVyOiAwO1xuLy8gICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbi8vICAgICB9XG5cbi8vICAgICAvLyBWaW1lbyBoYWNrXG4vLyAgICAgPiBkaXYge1xuLy8gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMDAlO1xuLy8gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1Ljk1JSk7XG4vLyAgICAgfVxuLy8gfVxuLy8gVG8gYWxsb3cgbW91c2UgZXZlbnRzIHRvIGJlIGNhcHR1cmVkIGlmIGZ1bGwgc3VwcG9ydFxuLnBseXIgLnBseXJfX3ZpZGVvLWVtYmVkIGlmcmFtZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIENhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZSBkZWZhdWx0IGNhcHRpb25zXG4ucGx5ciB2aWRlbzo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyX19jYXB0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDYpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgY29sb3I6ICRwbHlyLWNhcHRpb25zLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwYWRkaW5nOiBmbG9vcigkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAzKSAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwbHlyLWNhcHRpb25zLWJnO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIH1cbiAgICBzcGFuOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLW1lZGl1bTtcbiAgICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY2FwdGlvbnMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDIpKTtcbn1cbi8vIExhcmdlIGNhcHRpb25zIGluIGZ1bGwgc2NyZWVuIG9uIGxhcmdlciBzY3JlZW5zXG5AbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLWxnKSB7XG4gICAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWxhcmdlO1xuICAgIH1cbn1cblxuLy8gQ29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlIG5hdGl2ZSBjb250cm9sc1xuLnBseXIgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBQbGF5YmFjayBjb250cm9sc1xuLnBseXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLy8gU3BhY2luZ1xuICAgID4gYnV0dG9uLFxuICAgIC5wbHlyX19wcm9ncmVzcyxcbiAgICAucGx5cl9fdGltZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJHBseXItY29udHJvbC1zcGFjaW5nIC8gMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGx5cl9fdm9sdW1lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKTtcbiAgICB9XG4gICAgW2RhdGEtcGx5cj1cInBhdXNlXCJdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIElFMTFcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIC43KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2UsIGNvbG9yIC4zcyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRwbHlyLWNvbnRyb2wtaWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGx5ci1jb250cm9sLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBmb2N1c1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIHRvZ2dsZSBpY29ucyBieSBkZWZhdWx0XG4gICAgLmljb24tLWV4aXQtZnVsbHNjcmVlbixcbiAgICAuaWNvbi0tbXV0ZWQsXG4gICAgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLXNtKSB7XG4gICAgICAgID4gYnV0dG9uLFxuICAgICAgICAucGx5cl9fcHJvZ3Jlc3MsXG4gICAgICAgIC5wbHlyX190aW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBIaWRlIGNvbnRyb2xzXG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHMge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIFZpZGVvIGNvbnRyb2xzXG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDUpICRwbHlyLWNvbnRyb2wtc3BhY2luZyAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnLCAxKSwgdHJhbnNwYXJlbnRpemUoJHBseXItdmlkZW8tY29udHJvbHMtYmcsIC41KSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgLy8gSG92ZXIgYW5kIHRhYiBmb2N1c1xuICAgICAgICAmLnRhYi1mb2N1czpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGx5ci12aWRlby1jb250cm9sLWJnLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEF1ZGlvIGNvbnRyb2xzXG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci1hdWRpby1jb250cm9scy1iZztcbiAgICBib3JkZXI6ICRwbHlyLWF1ZGlvLWNvbnRyb2xzLWJvcmRlcjtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vIEhvdmVyIGFuZCB0YWIgZm9jdXNcbiAgICAgICAgJi50YWItZm9jdXM6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItYXVkaW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBMYXJnZSBwbGF5IGJ1dHRvbiAodmlkZW8gb25seSlcbi5wbHlyX19wbGF5LWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KTtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG5cbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudGl6ZSgkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLCAuNSk7XG4gICAgfVxufVxuLnBseXIgLnBseXJfX3BsYXktbGFyZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19wbGF5LWxhcmdlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gU3RhdGVzXG4ucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGF1c2UnXSxcbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPSdwbGF5J10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj0ncGF1c2UnXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBDaGFuZ2UgaWNvbnMgb24gc3RhdGUgY2hhbmdlXG4ucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUgLmljb24tLWV4aXQtZnVsbHNjcmVlbixcbi5wbHlyLS1tdXRlZCAucGx5cl9fY29udHJvbHMgLmljb24tLW11dGVkLFxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY29udHJvbHMgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYgKyBzdmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gU29tZSBvcHRpb25zIGFyZSBoaWRkZW4gYnkgZGVmYXVsdFxuLnBseXIgW2RhdGEtcGx5cj0nY2FwdGlvbnMnXSxcbi5wbHlyIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1jYXB0aW9ucy1lbmFibGVkIFtkYXRhLXBseXI9J2NhcHRpb25zJ10sXG4ucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRwbHlyLXRvb2x0aXAtcGFkZGluZyAqIDIpO1xuICAgIHBhZGRpbmc6ICRwbHlyLXRvb2x0aXAtcGFkZGluZyAoJHBseXItdG9vbHRpcC1wYWRkaW5nICogMS41KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogJHBseXItdG9vbHRpcC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGx5ci10b29sdGlwLXJhZGl1cztcblxuICAgIGNvbG9yOiAkcGx5ci10b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyAuMXMgZWFzZSwgb3BhY2l0eSAuMnMgLjFzIGVhc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICAvLyBBcnJvd3NcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgLy8gVGhlIGJhY2tncm91bmQgdHJpYW5nbGVcbiAgICAgICAgYm90dG9tOiAtJHBseXItdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogJHBseXItdG9vbHRpcC1hcnJvdy1zaXplIHNvbGlkICRwbHlyLXRvb2x0aXAtYmc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkcGx5ci10b29sdGlwLWFycm93LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuLnBseXIgYnV0dG9uOmhvdmVyIC5wbHlyX190b29sdGlwLFxuLnBseXIgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX190b29sdGlwLS12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xufVxuLnBseXIgYnV0dG9uOmhvdmVyIC5wbHlyX190b29sdGlwIHtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4vLyBGaXJzdCB0b29sdGlwXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAoJHBseXItY29udHJvbC1pY29uLXNpemUgLyAyKSArICRwbHlyLWNvbnRyb2wtcGFkZGluZztcbiAgICB9XG59XG5cbi8vIExhc3QgdG9vbHRpcFxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6ICgkcGx5ci1jb250cm9sLWljb24tc2l6ZSAvIDIpICsgJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICB9XG59XG5cbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQsXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICY6aG92ZXIgLnBseXJfX3Rvb2x0aXAsXG4gICAgJi50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4gICAgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8vIFBsYXliYWNrIHByb2dyZXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPHByb2dyZXNzPiBlbGVtZW50XG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG5cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlZWsgdG9vbHRpcCB0byBzaG93IHRpbWVcbiAgICAucGx5cl9fdG9vbHRpcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuLnBseXIgLnBseXJfX3Byb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXG4ucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBtYXJnaW46IC0oJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0IC8gMikgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbi5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOjotbXMtZmlsbCB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcixcbi5wbHlyLS12aWRlbyAucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci12aWRlby1yYW5nZS10cmFjay1iZztcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgY29sb3I6ICRwbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXItLWF1ZGlvIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIGJhY2tncm91bmQ6ICRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIExvYWRpbmcgc3RhdGVcbi5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBhbmltYXRpb246IHBseXItcHJvZ3Jlc3MgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplICRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAtNDVkZWcsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgMjUlLFxuICAgICAgICB0cmFuc3BhcmVudCAyNSUsXG4gICAgICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAgICAgJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1iZyA1MCUsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgNzUlLFxuICAgICAgICB0cmFuc3BhcmVudCA3NSUsXG4gICAgICAgIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIFRpbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtc21hbGw7XG59XG4vLyBNZWRpYSBkdXJhdGlvbiBoaWRkZW4gb24gc21hbGwgc2NyZWVuc1xuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1zY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIHNsYXNoIGluIGJlZm9yZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwNDQnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwbHlyLWNvbnRyb2wtc3BhY2luZztcbiAgICB9XG59XG5cbi8vIFZvbHVtZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyX192b2x1bWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5ciAucGx5cl9fdm9sdW1lIHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwbHlyLWJwLXNjcmVlbi1zbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLW1kKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgfVxufVxuXG4vLyBIaWRlIHNvdW5kIGNvbnRyb2xzIG9uIGlPU1xuLy8gSXQncyBub3Qgc3VwcG9ydGVkIHRvIGNoYW5nZSB2b2x1bWUgdXNpbmcgSmF2YVNjcmlwdDpcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS9kb2N1bWVudGF0aW9uL0F1ZGlvVmlkZW8vQ29uY2VwdHVhbC9Vc2luZ19IVE1MNV9BdWRpb19WaWRlby9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy5odG1sXG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWUsXG4ucGx5ci0taXMtaW9zIFtkYXRhLXBseXI9J211dGUnXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBGdWxsc2NyZWVuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblxuICAgIHZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5wbHlyX192aWRlby1lbWJlZCB7XG4gICAgICAgIC8vIFJldmVydCBvdmVyZmxvdyBjaGFuZ2VcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgIC5wbHlyX19jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyByZXF1aXJlcyBzb21lIGRpZmZlcmVudCBzdHlsaW5nXG4gICAgJi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx5ciBtaXhpbnNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWx6L3BseXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDxpbnB1dCB0eXBlPVwicmFuZ2VcIj4gc3R5bGluZ1xuQG1peGluIHBseXItcmFuZ2UtdHJhY2soKSB7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJHBseXItcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgYmFja2dyb3VuZDogJHBseXItcmFuZ2UtdGh1bWItYmc7XG4gICAgYm9yZGVyOiAkcGx5ci1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLCBib3JkZXIgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAkcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNjYWxlKTtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx5ciB2YXJpYWJsZXNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWx6L3BseXJcbi8vIGh0dHBzOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL3Nhc3MtZGVmYXVsdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU2V0dGluZ3NcbiRwbHlyLWJvcmRlci1ib3g6ICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJHBseXItdG91Y2gtYWN0aW9uOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kcGx5ci1zci1vbmx5LWltcG9ydGFudDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kcGx5ci1jb2xvci1tYWluOiAgICAgICAgICAgICAgICAgICAgICAgIzM0OThkYiAhZGVmYXVsdDtcblxuLy8gRm9udCBzaXplc1xuJHBseXItZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgIEF2ZW5pciwgJ0F2ZW5pciBOZXh0JywgJ0hlbHZldGljYSBOZXVlJywgJ1NlZ29lIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJHBseXItZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG5cbi8vIENhcHRpb25zXG4kcGx5ci1jYXB0aW9ucy1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoIzAwMCwgLjMpICFkZWZhdWx0O1xuJHBseXItY2FwdGlvbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtYmFzZTogICAgICAgICAgJHBseXItZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbWVkaXVtOiAgICAgICAgY2VpbCgkcGx5ci1mb250LXNpemUtYmFzZSAqIDEuNSkgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbGFyZ2U6ICAgICAgICAgKCRwbHlyLWZvbnQtc2l6ZS1iYXNlICogMikgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xzXG4kcGx5ci1jb250cm9sLWljb24tc2l6ZTogICAgICAgICAgICAgICAgMThweCAhZGVmYXVsdDtcbiRwbHlyLWNvbnRyb2wtc3BhY2luZzogICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBseXItY29udHJvbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiAuNykgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9scy1iZzogICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlcjogICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9sLWJnLWhvdmVyOiAgICAgICAgICAgJHBseXItY29sb3ItbWFpbiAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLWNvbnRyb2xzLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbHMtYm9yZGVyOiAgICAgICAgICAgIDFweCBzb2xpZCAjZGJlM2U4ICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICM1NjVENjQgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLWhvdmVyOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLWNvbnRyb2wtYmctaG92ZXI6ICAgICAgICAgICAkcGx5ci1jb2xvci1tYWluO1xuXG4vLyBUb29sdGlwc1xuJHBseXItdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCMwMDAsIC4zKSAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKSAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZTogICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4kcGx5ci10b29sdGlwLXJhZGl1czogICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyBQcm9ncmVzc1xuJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplOiAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4kcGx5ci1wcm9ncmVzcy1sb2FkaW5nLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KSAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLXByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSgjZmZmLCAuNzUpICFkZWZhdWx0O1xuJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc6ICAgICAgICRwbHlyLXZpZGVvLXByb2dyZXNzLWJnICFkZWZhdWx0O1xuJHBseXItYXVkaW8tcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCNDNkQ2REIsIC4zMykgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iZzogICAgICAgJHBseXItYXVkaW8tcHJvZ3Jlc3MtYmcgIWRlZmF1bHQ7XG5cbi8vIFJhbmdlIHNsaWRlcnNcbiRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgZmxvb3IoJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0ICogMikgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgZmxvb3IoJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0ICogMikgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAycHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c6ICAgICAgICAgICAgICAgMCAxcHggMXB4IHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnLCAuODUpLCAwIDAgMCAxcHggdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KSAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICRwbHlyLXZpZGVvLWNvbnRyb2wtYmctaG92ZXIgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2NhbGU6ICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iZyAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iZyAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnOiAgICAgICAgICAgICAgICAkcGx5ci1jb2xvci1tYWluICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50c1xuJHBseXItYnAtc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuJHBseXItYnAtc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHBseXItYnAtc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgICAgIDEwMjRweCAhZGVmYXVsdDsiLCIvKiBZQVBMXG5uYW1lOiBRdWljayBMaW5rc1xucGFydGlhbDogcXVpY2stbGlua3NcbmNvbnRleHQ6IHF1aWNrLWxpbmtzLnByaW1hcnktbGFuZGluZ1xuc2VsZWN0b3I6IC5xdWljay1saW5rc1xuKi9cblxuLnF1aWNrLWxpbmtzX190b3BpYyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1JSk7XG4gICAgdHJhbnNpdGlvbjogLjhzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICAgLmlzLWluLXZpZXcgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBpbWcge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucXVpY2stbGlua3NfX3RvcGljLWNvbnRlbnQge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1yaWdodDogMzVweDtcbn1cblxuLnF1aWNrLWxpbmtzX190b3BpYy10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1taWQ7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG59XG5cbi5xdWljay1saW5rc19fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiByZW0tY2FsYygyKSAwO1xufVxuIiwiLyogWUFQTFxubmFtZTogUmVjb21tZW5kZWQgSXRlbXNcbnBhcnRpYWw6IHJlY29tbWVuZGVkLWl0ZW1zXG5jb250ZXh0OiByZWNvbW1lbmRlZC1pdGVtcy5ocDFcbnNlbGVjdG9yOiAucmVjb21tZW5kZWRfX2l0ZW1cbiovXG5cbi5yZWNvbW1lbmRlZF9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcblxuICAuaWNvbiB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHdpZHRoOiA0NXB4O1xuICB9XG5cbiAgaDQsXG4gIC5oNCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIC5ib3JkZXJlZC0tZ3JlZW4ge1xuICAgIGg0LFxuICAgIGEge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG5cbiAgICAgIC5ncmF5IHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyZWVuLXRlYWw7XG5cbiAgICAgICAgLmxpbmstLWxvY2sgJiB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC5ib3JkZXJlZC0tZ3JlZW4ge1xuICAgICAgaDQsXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbi10ZWFsO1xuICAgICAgfVxuXG4gICAgICAubGluay0tbG9jayB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgIGg0LFxuICAgIC5oNCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgJi5yZWNvbW1lbmRlZF9faXRlbS0tbG9ja2VkIC5ob3Zlci1yZXZlYWwge1xuICAgICAgLmhvdmVyLXJldmVhbF9faGlkZGVuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICBoNCxcbiAgICAuaDUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgfVxuXG4gICAgLndoYXRpbnB1dC10eXBlcy10b3VjaCAmIHtcbiAgICAgICYucmVjb21tZW5kZWRfX2l0ZW0tLWxvY2tlZCAuaG92ZXItcmV2ZWFsIHtcbiAgICAgICAgLmhvdmVyLXJldmVhbF9faGlkZGVuIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtd2hhdGludGVudD0ndG91Y2gnXSAmIHtcbiAgICAmLnJlY29tbWVuZGVkX19pdGVtLS1sb2NrZWQgLmhvdmVyLXJldmVhbCB7XG4gICAgICAuaG92ZXItcmV2ZWFsX19oaWRkZW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLyogWUFQTFxubmFtZTogUmVzb3VyY2VzIENhbGxvdXRcbnBhcnRpYWw6IHJlc291cmNlcy1jYWxsb3V0XG5jb250ZXh0OiByZXNvdXJjZXMtY2FsbG91dC5wcmVzcy1raXRcbnNlbGVjdG9yOiAucmVzb3VyY2VzLWNhbGxvdXRcbiovXG5cbi5yZXNvdXJjZXMtY2FsbG91dCB7XG4gIC5saW5rLS1jb250YWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnJlc291cmNlcy1jYWxsb3V0X19yb3ctbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4ucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLmJ1dHRvbi5saW5rLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmZhLWxvY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVzb3VyY2VzLWNhbGxvdXRfX2hlYWRlcnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLnJlc291cmNlcy1jYWxsb3V0X19jb2x1bW4ge1xuICAucmVzb3VyY2VzLWNhbGxvdXRfX3Jvdy1sZWZ0ICYge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYygyMCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAwKSByZW0tY2FsYyg0MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA2NzVweDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyMCkgcmVtLWNhbGMoNjApO1xuICAgIH1cbiAgfVxuXG4gIC5yZXNvdXJjZXMtY2FsbG91dF9fcm93LXJpZ2h0ICYge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYyg0MCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSByZW0tY2FsYyg2MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcwKSByZW0tY2FsYyg0MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA2NzVweDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkwKSByZW0tY2FsYyg2MCk7XG4gICAgfVxuICB9XG59XG5cbi5yZXNvdXJjZXMtY2FsbG91dF9fdGV4dC1jb250YWluZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLnJlc291cmNlcy1jYWxsb3V0X19iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ucmVzb3VyY2VzLWNhbGxvdXRfX2Rlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnJ0Zi1jb250YWluZXIge1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgaDMge1xuICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gIH1cblxuICAucnRmIHtcbiAgICA+ICoge1xuICAgICAgQGV4dGVuZCAldmVydGljYWwtbWFyZ2luLTE7XG5cbiAgICAgICYuaWNvbixcbiAgICAgICY6b25seS1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxLFxuICAgID4gaDEsXG4gICAgaDIsXG4gICAgPiBoMixcbiAgICBoMyxcbiAgICA+IGgzLFxuICAgIGg0LFxuICAgID4gaDQsXG4gICAgaDUsXG4gICAgPiBoNSxcbiAgICBoNixcbiAgICA+IGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG5cbiAgICBoNiArICoge1xuICAgICAgQGV4dGVuZCAldmVydGljYWwtbWFyZ2luLTA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAuYnVsbGV0aW4gJixcbiAgICAgIC5ldmVudF9faXRlbSAmIHtcbiAgICAgICAgQGV4dGVuZCAlZnJhbmtsaW4tZ290aGljO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gdWwsXG4gICAgPiBvbCB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDEuNXJlbSAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLnJ0Zi0tdGlnaHQtc3BhY2VkIHtcbiAgICA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAvIDJ9O1xuXG4gICAgICAmLmljb24sXG4gICAgICAmOm9ubHktY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FwdGlvbmVkLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDMwKTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgKyAucnRmIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC03KTtcbiAgICB9XG4gIH1cblxuICBwLFxuICBsaSB7XG4gICAgQGV4dGVuZCAldHJhY2tpbmctMTA7XG4gICAgZm9udC1mYW1pbHk6ICRhcm5vLXBybztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJG9yYW5nZS1wYWxlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRyZWQtZGFyaztcbiAgICB9XG4gIH1cblxuICB1bCxcbiAgb2wge1xuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luOiAuNXJlbSAwO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgPiBsaSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogcnRmLW9sO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgID4gbGkge1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHJ0Zi1vbDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihydGYtb2wpICcuJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgPiBvbCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHJ0Zi1vbDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogcnRmLW9sO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIocnRmLW9sLCBsb3dlci1hbHBoYSkgJy4nO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGFydCBUYWJsZSBzdHlsZXNcbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIHRoIHtcbiAgICBAZXh0ZW5kICV0cmFja2luZy02MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWJyaWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWM7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXRhYmxlO1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgfVxuICB9XG5cbiAgdHIge1xuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS10YWJsZS0yO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktdGFibGUtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktdGFibGUtMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJsZV9fY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcblxuICAgICsgKiB7XG4gICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1tYXJnaW4tMjtcbiAgICB9XG4gIH1cbiAgLy8gRW5kIFRhYmxlIHN0eWxlc1xufVxuIiwiLyogWUFQTFxubmFtZTogU2VjdGlvbiBIaWdobGlnaHRzXG5wYXJ0aWFsOiBzZWN0aW9uLWhpZ2hsaWdodHNcbmNvbnRleHQ6IHNlY3Rpb24taGlnaGxpZ2h0cy5zZWN0aW9uLWxhbmRpbmdcbnNlbGVjdG9yOiAuc2VjdGlvbi1oaWdobGlnaHRzXG4qL1xuXG4uc2VjdGlvbi1oaWdobGlnaHRzX19oaWdobGlnaHQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1oaWdobGlnaHRzX19idXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gIH1cbn1cblxuLnNlY3Rpb24taGlnaGxpZ2h0c19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xufVxuXG4uc2VjdGlvbi1oaWdobGlnaHRzX19oaWdobGlnaHQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG59XG5cbi5zZWN0aW9uLWhpZ2hsaWdodHNfX3RleHQge1xuICBmbGV4LWdyb3c6IDE7XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBTZWFyY2ggUmVzdWx0cyAtIFRleHRcbnBhcnRpYWw6IHNlYXJjaC1yZXN1bHRzXG5jb250ZXh0OiBzZWFyY2gtcmVzdWx0cy5zZWFyY2gtcGFnZVxuc2VsZWN0b3I6IC5zZWFyY2gtcmVzdWx0cy0tc2VhcmNoLXBhZ2VcbiovXG5cbi8qIFlBUExcbm5hbWU6IFNlYXJjaCBSZXN1bHRzIC0gSW1hZ2VcbnBhcnRpYWw6IHNlYXJjaC1yZXN1bHRzLWltYWdlLXRpbGVzXG5jb250ZXh0OiBzZWFyY2gtcmVzdWx0cy5maWx0ZXJhYmxlLWxpc3RcbnNlbGVjdG9yOiAuc2VhcmNoLXJlc3VsdHMtLWltYWdlLXRpbGVzXG4qL1xuXG4uc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlYXJjaC1yZXN1bHRzLS1pbWFnZS10aWxlcyB7XG4gIC5zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAlKTtcbiAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXHRcblx0LmZpbHRlcmFibGUtbGluay0tZXh0ZXJuYWw6OmFmdGVyIHtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRjb250ZW50OiAnXFxmMDhlJztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtNnB4O1xuXHR9XG5cdFxuICAgIC8vIC5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQge1xuICAgIC8vICAgJjo6YmVmb3JlIHtcbiAgICAvLyAgICAgdG9wOiAtLjA1ZW07XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgYTpob3ZlcixcbiAgICBhOmZvY3VzLFxuXHQuZmlsdGVyYWJsZS1saW5rLS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIFxuXHQuZmlsdGVyYWJsZS1saW5rLS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2UtcGFsZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1yZXN1bHRzX19pdGVtLWZseW91dC10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZmx5b3V0X19jbG9zZSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTRweDtcbiAgICB0b3A6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG5cbiAgICAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtcmVzdWx0c19faXRlbS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgICAgIGxlZnQ6IDEyLjUlO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMjIuNSUgLSAzMXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgICAgIGxlZnQ6IC04Ny41JTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDc3LjUlIC0gMzFweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoM24tMikge1xuICAgICAgICAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMjIuNSUgLSAzMXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzbi0xKSB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgICAgIGxlZnQ6IC02Mi41JTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMxcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDNuKSB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0c19faXRlbS1mbHlvdXQge1xuICAgICAgICAgIGxlZnQ6IC0xMjUlO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNzcuNSUgLSAzMXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgLnNlYXJjaC1yZXN1bHRzX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0tZmx5b3V0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDJyZW0gYXV0byAxLjVyZW07XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB3aWR0aDogMTc1JTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDYycHgsIDE0cHgsIG4sICRvcmFuZ2UtZGFyayk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOiAyMjUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2gtcmVzdWx0cy0tc2VhcmNoLXBhZ2Uge1xuICAuc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICAgIHBhZGRpbmc6IDMwcHggMjVweDtcbiAgICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCBib3JkZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygzMCkgcmdiYSgkYmxhY2ssIC4yKTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxpbmstLWV4dGVybmFsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NhdGVnb3J5LXN3aXRjaGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jYXRlZ29yeS1zd2l0Y2hlci1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDNweCAyMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbjogM3B4IDdweDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IFN0YWZmIFNlY3Rpb25zXG5wYXJ0aWFsOiBzdGFmZi1zZWN0aW9uc1xuY29udGV4dDogc3RhZmYtc2VjdGlvbnMubWFpblxuc2VsZWN0b3I6IC5zdGFmZi1zZWN0aW9uc1xuKi9cblxuLnN0YWZmLXNlY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcblxuICAuYWNjb3JkaW9uIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBhLmFjY29yZGlvbi10aXRsZTpub3QoLmJ1dHRvbikge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWxpZ2h0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjA2Nyc7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2OCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgfVxuXG4gICAgPiAucm93IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogOTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDk1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxNjVweDtcbiAgICAgIHdpZHRoOiAxNjVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zcGxhc2gtc2VhcmNoX19mb3JtIHtcbiAgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC50dC1tZW51IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktbWlkO1xuICAgIGJveC1zaGFkb3c6IDAgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDQwKSByZ2JhKCRibGFjaywgLjMpO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cblxuICAuc3VnZ2VzdGlvbnNfX2hlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgfVxuXG4gIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgLnN1Z2dlc3Rpb25zX19pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgcGFkZGluZzogMjVweCAwO1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5zdWdnZXN0aW9uX19pdGVtLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuc3VnZ2VzdGlvbl9faXRlbS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkcmVkLWJyaWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50dC1zdWdnZXN0aW9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5zdWdnZXN0aW9uc19fdGVhc2VyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogU2VhcmNoIFJlc3VsdHMgU3RhdHVzIERpc3BsYXlcbnBhcnRpYWw6IHNlYXJjaC1yZXN1bHRzLXN0YXR1c1xuc2VsZWN0b3I6IC5zZXJhY2gtcmVzdWx0cy1zdGF0dXNcbiovXG5cbi5zZWFyY2gtcmVzdWx0cy1zdGF0dXNfX2NvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzLXN0YXR1c19fdG9waWMge1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGNvbnRlbnQ6ICdcXGYwNTcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtYXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZ3JheTtcbiAgICBwYWRkaW5nOiAxMXB4IDEzcHg7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBTZWN0aW9uIE5hdmlnYXRpb25cbnBhcnRpYWw6IHNlY3Rpb24tbmF2XG5jb250ZXh0OiBzZWN0aW9uLW5hdi5zZWN0aW9uLWxhbmRpbmdcbnNlbGVjdG9yOiAuc2VjdGlvbi1uYXZcbiovXG5cbi5wcmltYXJ5LWxhbmRpbmctbmF2X19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcmltYXJ5LWxhbmRpbmctbmF2X19pdGVtIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGdyYXktbWlkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjEpIDAgcmVtLWNhbGMoMTkpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogU2lkZWJhclxucGFydGlhbDogc2lkZWJhclxuc2VsZWN0b3I6IC5zaWRlYmFyXG4qL1xuXG4uc2lkZWJhciB7XG4gIC5zb2NpYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxMSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnNvY2lhbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuY2lyY3VsYXIuZmEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDQpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB6LWluZGV4OiB6LWluZGV4KHNpZGViYXIpO1xuXG4gICAgJi5pcy1zdGlja3kge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMTUwcHg7XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgLnNvY2lhbF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNpcmN1bGFyLmZhIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI5KTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoNCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzMpO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDQpLFxuICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBTaXRlbWFwXG5wYXJ0aWFsOiBzaXRlbWFwXG5jb250ZXh0OiBzaXRlbWFwLm1haW5cbnNlbGVjdG9yOiAuc2l0ZW1hcFxuKi9cblxuLnNpdGVtYXAge1xuICAubGluay0tbW9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuaWNvbi5mYS5mYS1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLS1leHRlcm5hbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAubGluay0tZXh0ZXJuYWwtb3JhbmdlIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRyZWQtbWlkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEuaDQge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICB9XG4gIH1cblxuICBhLmg1IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVkLW1pZDtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGVtYXAtc2VjdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTtcblxuICBsaSB7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgfiAuc2l0ZW1hcC1zZWN0aW9uIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZW1hcC1lZHVjYXRvcnMge1xuICAubGluay0tb3JhbmdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcblxuICAgIGxpIGEge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi5zb2NpYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgLmNpcmN1bGFyLS1pY29uLmZhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ0KTtcbiAgICB9XG4gIH1cbn1cblxuLnNvY2lhbC0tY29ubmVjdCB7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNTApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICB9XG59XG5cbi5zb2NpYWwtLXJpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAwJTtcblxuICAuY2lyY3VsYXItLWljb24uZmEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzMpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgbWFyZ2luOiAwIHJlbS1jYWxjKDMpO1xuICAgIHdpZHRoOiByZW0tY2FsYygzMyk7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICB9XG59XG5cbi5zb2NpYWwtdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IFNsaWRlciAtIENhcmRzXG5wYXJ0aWFsOiBzbGlkZXJcbmNvbnRleHQ6IHNsaWRlci5wcmVzcy1raXRcbnNlbGVjdG9yOiAuY3VzdG9tLXNsaWRlci0tY2FyZHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IFNsaWRlciAtIEltYWdlXG5wYXJ0aWFsOiBpbWFnZS1zbGlkZXJcbmNvbnRleHQ6IGltYWdlLXNsaWRlci5wb3J0bGV0XG5zZWxlY3RvcjogLmltYWdlLXNsaWRlclxuKi9cblxuLmN1c3RvbS1zbGlkZXIge1xuICAuc2xpZGVyX19jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQxNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0KSB7XG4gICAgLnNsaWRlcl9fdGl0bGUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXJfX3RpdGxlLXRleHQge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG4gIH1cblxuICAuZmxpY2tpdHktc2xpZGUge1xuICAgIG1hcmdpbjogMCA0JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIHdpZHRoOiA4MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5zbGlkZXItdGV4dC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnNsaWRlci10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmxpY2tpdHktaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9hcnJvdy1yaWdodC0tZ3JlZW4tbGltZS5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTZweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmVlbi1saW1lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgICB3aWR0aDogNDBweDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGltZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uL2Fycm93LXJpZ2h0LnN2ZycpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5leHQge1xuICAgICAgcmlnaHQ6IC0yMiU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMjBweCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcmlnaHQ6IC0xOSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wcmV2aW91cyB7XG4gICAgICBsZWZ0OiAtMjIlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBsZWZ0OiAtMTklO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgIGJvdHRvbTogcmVtLWNhbGMoLTEwMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTQwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmRvdCB7XG4gICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cbiAgICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGltZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmltYWdlLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgLnNsaWRlcl9fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZmxpY2tpdHktc2xpZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQtLWJsYWNrLnN2ZycpO1xuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubmV4dCB7XG4gICAgICByaWdodDogLTEwJTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogLTclO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucHJldmlvdXMge1xuICAgICAgbGVmdDogLTEwJTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbGVmdDogLTclO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgIC5kb3Qge1xuICAgICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FwdGlvbmVkLWltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmluLXZpZXctdHJpZ2dlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1pbi12aWV3IHtcbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAmLmJhY2tncm91bmQtLWJsYWNrLWZhZGUtZm9yLW1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTUwKTtcblxuICAgICAgICAgIC5pcy1pZSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmluLXZpZXctdHJpZ2dlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmNhcHRpb25fX3RleHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IDEwJTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLXNlbGVjdGVkIHtcbiAgICAuaXMtaW4tdmlldyB7XG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAgIC5jYXB0aW9uX190ZXh0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAxMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMzAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcHRpb25fX3RleHQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEhvbWVwYWdlIEhlcm8gVmlkZW9cbnBhcnRpYWw6IHNwbGFzaFxuY29udGV4dDogc3BsYXNoLmhvbWUtdG9wXG5zZWxlY3RvcjogLnNwbGFzaC0taG9tZVxuKi9cblxuLyogWUFQTFxubmFtZTogSG9tZXBhZ2UgVmlkZW8gQmFja2dyb3VuZCBIZXJvXG5wYXJ0aWFsOiBzcGxhc2hcbmNvbnRleHQ6IHNwbGFzaC5ob21lLWJvdHRvbVxuc2VsZWN0b3I6IC5zcGxhc2gtLWJnLXZpZGVvXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBNYXN0ZXJzdWIgSGVybyAtIEltYWdlXG5wYXJ0aWFsOiBzcGxhc2gtc2Vjb25kYXJ5XG5jb250ZXh0OiBzcGxhc2gubXMtdG9wLWltYWdlXG5zZWxlY3RvcjogLnNwbGFzaC0tc2Vjb25kYXJ5XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBNYXN0ZXJzdWIgSGVybyAtIE5vIEltYWdlXG5wYXJ0aWFsOiBzcGxhc2gtc2Vjb25kYXJ5XG5jb250ZXh0OiBzcGxhc2gubXMtdG9wLW5vaW1hZ2VcbnNlbGVjdG9yOiAuc3BsYXNoLS1zZWNvbmRhcnlcbiovXG5cbi8qIFlBUExcbm5hbWU6IFNlYXJjaCBIZXJvXG5wYXJ0aWFsOiBzcGxhc2gtc2VhcmNoXG5zZWxlY3RvcjogLnNwbGFzaC1zZWFyY2hcbiovXG5cbi5zcGxhc2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIHJlbS1jYWxjKC0yMDApIHJlbS1jYWxjKDIwMCkgcmVtLWNhbGMoLTIwMCkgcmdiYSgkYmxhY2ssIC42KTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAwIHJlbS1jYWxjKDgpIHJnYmEoJGJsYWNrLCAuNik7XG4gIHotaW5kZXg6IHotaW5kZXgoc3BsYXNoKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU0MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcwKTtcbiAgfVxuXG4gICYuc3BsYXNoLS12aWRlbyB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ1MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmctYm90dG9tIC41cyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBwYWRkaW5nLWJvdHRvbTtcblxuICAgIC5wbGF5ZXIge1xuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB+IC5zcGxhc2hfX3RpdGxlLFxuICAgICAgICB+IC5zcGxhc2hfX3RleHQsXG4gICAgICAgIH4gLnNwbGFzaF9fc2NyaW0ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgfiAuc3BsYXNoX19yb3cge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1NDApO1xuICAgIH1cbiAgfVxuXG4gICYuc3BsYXNoLS1uby1oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGJsdWUtc3BsYXNoLW1pZCA3MCUsICRibHVlLXNwbGFzaC1kYXJrKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNwbGFzaF9fcm93IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBlYXNlO1xuXG4gICYuY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLnNwbGFzaC0tdmlkZW8uc3BsYXNoLS1uby1oZXJvICYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uc3BsYXNoX190ZXh0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICB6LWluZGV4OiB6LWluZGV4KHNwbGFzaC1vdmVybGF5cyk7XG59XG5cbi5zcGxhc2hfX3RpdGxlIHtcbiAgbWFyZ2luOiAjeyRnbG9iYWwtbWFyZ2luICogN30gMCAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgIG1hcmdpbjogI3skZ2xvYmFsLW1hcmdpbiAqIDR9IDAgMDtcbiAgfVxuXG4gIC5zcGxhc2gtLXZpZGVvLnNwbGFzaC0taG9tZSAmIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogI3skZ2xvYmFsLW1hcmdpbiAqIDV9IDAgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAuc3BsYXNoLS1uby1oZXJvICYge1xuICAgIG1hcmdpbjogI3skZ2xvYmFsLW1hcmdpbiAqIDN9IDAgMDtcbiAgfVxufVxuXG4uc3BsYXNoX19zdWJ0aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3BsYXNoX19jcmVkaXQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNwbGFzaF9fc2NyaW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjcpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogei1pbmRleChzcGxhc2gpO1xufVxuXG4uc3BsYXNoIC5wbHlyIC5wbHlyX192aWRlby1lbWJlZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zcGxhc2gtLWJnLXZpZGVvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vLyBNQVNURVJTVUIgU1BMQVNIIFNQRUNJRklDXG4uc3BsYXNoLS1zZWNvbmRhcnkge1xuICAuc3BsYXNoX19yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICB9XG59XG5cbi5zcGxhc2gtLW5vLWltYWdlIHtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMTgwKTtcblxuICAmLnNwbGFzaC0tdmlkZW8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxODApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuLnNwbGFzaC1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDcycHgsIDE3cHgsIHMsICRtYWdlbnRhLWRhcmspO1xuICAgIGJvdHRvbTogLTE3cHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAzNnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLnNwbGFzaC1zZWFyY2hfX2Zvcm0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYyg1MCkgcmdiYSgkYmxhY2ssIC4zKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHotaW5kZXgoJ3NlYXJjaC1mb3JtJyk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5idXR0b24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10uc3BsYXNoLXNlYXJjaF9faW5wdXQge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRncmF5LW1pZDtcbiAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtYXdlc29tZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cblxuICBpbnB1dFt0eXBlPSd0ZXh0J10uc3BsYXNoLXNlYXJjaF9faW5wdXQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWM7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxufVxuXG5cbi8vIHNwbGFzaCAtLSBjYW1wYWlnblxuLnNwbGFzaC0tY2FtcGFpZ24ge1xuICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NTApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNjAwKTtcbiAgfVxuXG4gIC5zcGxhc2hfX3RpdGxlLFxuICAuc3BsYXNoX190aXRsZTo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTtcbiAgICB0cmFuc2l0aW9uOiAuOHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIH1cblxuICAuc3BsYXNoX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRhbWF0aWM7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMDApO1xuICAgIG1hcmdpbi10b3A6IDhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zcztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXJlbTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jYW1wYWlnbi1zcGxhc2gtYm9yZGVyLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjA3KTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40NXM7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1pbi12aWV3IHtcbiAgICAuc3BsYXNoX190aXRsZSxcbiAgICAuc3BsYXNoX190aXRsZTo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IFRlc3RpbW9uaWFsXG5wYXJ0aWFsOiB0ZXN0aW1vbmlhbFxuY29udGV4dDogdGVzdGltb25pYWxzLnNlY3Rpb24tbGFuZGluZ1xuc2VsZWN0b3I6IC50ZXN0aW1vbmlhbFxuKi9cblxuLnRlc3RpbW9uaWFsX190ZXh0IHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbF9faWNvbiB7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHdpZHRoOiAzN3B4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwKTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG59XG5cbi50ZXN0aW1vbmlhbF9fYXV0aG9yLWJsb2NrIHtcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICRyZWQtbWlkO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNzUpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkcmVkLW1pZDtcbiAgICBoZWlnaHQ6IDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjkwcHg7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKSByZW0tY2FsYygxMCk7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFsX19hdXRob3ItY3JlZGVudGlhbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRlc3RpbW9uaWFsX19hdXRob3ItZGV0YWlscyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogcmVtLWNhbGMoLTMwKTtcbiAgfVxufVxuXG4udGVzdGltb25pYWxfX2F1dGhvci1pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBoZWlnaHQ6IDEyMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtaGVpZ2h0OiAxMDVweDtcbiAgICBtYXgtd2lkdGg6IDEwNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gcmVtLWNhbGMoNTIpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogMjEwcHg7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwJSk7XG4gICAgd2lkdGg6IDIxMHB4O1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBUaWxlIExpc3RcbnBhcnRpYWw6IHRpbGUtbGlzdFxuY29udGV4dDogbGlzdC1pdGVtcy5uZXdzcm9vbVxuc2VsZWN0b3I6IC50aWxlLWxpc3RcbiovXG5cbi50aWxlLWxpc3RfX3Jlc3VsdHMtY291bnQge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbn1cblxuLnRpbGUtbGlzdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgJjpudGgtY2hpbGQoLW4rMykge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWluLXZpZXcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgJjpudGgtY2hpbGQoM24tMSkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7XG4gICAgfVxuICB9XG59XG5cbi50aWxlLWxpc3RfX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWxpZ2h0O1xuICAgIGJvdHRvbTogMzBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiAyOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgfVxuXG4gIC5pY29uLS1wZGYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vcGRmLS1vcmFuZ2UucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvdHRvbTogNDNweDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI4cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuM3MgZWFzZTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGJvdHRvbTogNTRweDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNTEpO1xuICAgICAgcmlnaHQ6IDI4cHg7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNDIpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIC50aWxlLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaWNvbi0tcGRmIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vcGRmLS13aGl0ZS5wbmcnKTtcbiAgICB9XG4gIH1cbn1cblxuLnRpbGUtbGlzdF9faXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gIH1cbn1cblxuLnRpbGUtbGlzdF9faXRlbS1kYXRlIHtcbiAgY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbn1cblxuLnRpbGUtbGlzdC0tbWFnZW50YS1kYXJrIHtcbiAgLnRpbGUtbGlzdF9fbGluayB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWRhcms7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhLWRhcms7XG4gICAgfVxuICB9XG5cbiAgLnRpbGUtbGlzdF9faXRlbS1kYXRlIHtcbiAgICBjb2xvcjogJG1hZ2VudGEtZGFyaztcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogQWxsIFRvcGljcyBMaXN0XG5wYXJ0aWFsOiBhbGwtdG9waWNzLWxpc3RcbmNvbnRleHQ6IHRvcGljcy1saXN0Lm1haW5cbnNlbGVjdG9yOiAuYWxsLXRvcGljcy1saXN0XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBSZWxhdGVkIFRvcGljc1xucGFydGlhbDogcmVsYXRlZC10b3BpY3NcbmNvbnRleHQ6IHRvcGljcy1saXN0LnJlbGF0ZWQtdG9waWNzXG5zZWxlY3RvcjogLnJlbGF0ZWQtdG9waWNzXG4qL1xuXG4uYWxsLXRvcGljcy1saXN0IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucmVsYXRlZC10b3BpY3Mge1xuICBwYWRkaW5nOiAyLjVyZW0gMDtcblxuICA+IC5yb3cge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi50b3BpY3NfX2xpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMTBweCAxLjVyZW0gMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MsIDFzLCAuM3M7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuICAmLmlzLWluLXZpZXcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWxsLXRvcGljcy1saXN0ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbGV4OiAwIDAgNDYlO1xuICAgICAgbWF4LXdpZHRoOiA0NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVsYXRlZC10b3BpY3MgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmxpbmstLW1vcmUge1xuICAgIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IC41NWVtO1xuICAgICAgdG9wOiByZW0tY2FsYygtNCk7XG4gICAgfVxuICB9XG59XG4iLCIudHdpdHRlci10eXBlYWhlYWQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnR0LW1lbnUge1xuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuby12ZW5kb3ItcHJlZml4ZXNcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luOiAwO1xuICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxMzApO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LW1pZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgfVxufVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nIC8gMn07XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJi50dC1jdXJzb3IsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRibHVlLWxpZ2h0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbmlucHV0LmpzLXR5cGVhaGVhZDpub3QoI2tleXdvcmQpe1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblx0XHRcdHotaW5kZXg6IC0xO1xuICAgICAgICB9IiwiLyogWUFQTFxubmFtZTogVmVuZG9yIExpc3RcbnBhcnRpYWw6IHNnLXZlbmRvci1saXN0XG5zZWxlY3RvcjogLnZlbmRvci1saXN0XG4qL1xuXG4udmVuZG9yLWxpc3Qtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn1cblxuLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMge1xuICAvLyBtaW4td2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOCUpO1xuICB0cmFuc2l0aW9uOiAuOHMgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICYuaXMtaW4tdmlldyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAvLyAgICYuY29sdW1uLnJvdy5yb3cge1xuICAvLyAgICAgbWFyZ2luLWxlZnQ6IDExNXB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICYuY29sdW1uLnJvdy5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXIge1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tZmx5b3V0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgICBsZWZ0OiBjYWxjKC0xMDAlIC0gMnJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAxcmVtIC41cmVtO1xuXG4gICAgJjpudGgtb2YtdHlwZSgzbi0yKSB7XG4gICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tZmx5b3V0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDNuLTEpIHtcbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgICBsZWZ0OiBjYWxjKC0xMDAlIC0gMXJlbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzbikge1xuICAgICAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTIwMCUgLSAycmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgJjpudGgtb2YtdHlwZSgzbi0xKSB7XG4gICAgICAudmVuZG9yLWxpc3RfX2l0ZW0tZmx5b3V0IHtcbiAgICAgICAgbGVmdDogY2FsYygtMTAwJSAtIDJyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgICBsZWZ0OiBjYWxjKC0yMDAlIC0gNHJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLnZlbmRvci1saXN0X19pdGVtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDNyZW0gYXV0byAxLjVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoNjJweCwgMTRweCwgbiwgJHdoaXRlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMxcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE0cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMS41cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygyMDAlICsgMnJlbSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSAyLjVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDMwMCUgKyAycmVtKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSAyLjVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDMwMCUgKyA0cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZlbmRvci1saXN0X19pdGVtLXRpbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi52ZW5kb3ItbGlzdF9fdGlsZS1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBsZWZ0OiAtMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzcmVtKTtcblxuICAmOjphZnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiAnXFxmMDU0JztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGhlaWdodDogMzJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWluZGVudDogMnB4O1xuICAgIHRvcDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjtcbiAgICB3aWR0aDogMzJweDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbGVmdDogMTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgLmlzLW9wZW4gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4udmVuZG9yLWxpc3RfX2l0ZW0tZmx5b3V0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwJSk7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDFweDtcblxuICAuZmx5b3V0X19jbG9zZSB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG5cbiAgICAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICByaWdodDogMjRweDtcbiAgICAgIHRvcDogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjIpO1xuXG4gICAgLmljb24uZmEtZXh0ZXJuYWwtbGluayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKC0xMCk7XG4gICAgICB0b3A6IHJlbS1jYWxjKC0zKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52ZW5kb3ItbGlzdC5hY2NvcmRpb24uY3VzdG9tLWFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gIC8vIE92ZXJyaWRlIGFjY29yZGlvbiBzdHlsZXMgZm9yIG5vbi1tb2JpbGUgdmlld1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWMtY29uZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBhY2NvcmRpb24gc3R5bGVzIGZvciBtb2JpbGUgb25seVxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIC52ZW5kb3ItbGlzdC1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogMCAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLXR3aXR0ZXI7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWM7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNjcnO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYXdlc29tZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMik7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMDY4JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudmVuZG9yLWxpc3Qtc2VjdGlvbi1pdGVtcyAudmVuZG9yLWxpc3RfX2l0ZW0tY29udGFpbmVyOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKDJuICsgMSkgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTUwJSAtIDFyZW0pO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpsYXN0LWNoaWxkOm50aC1jaGlsZCgzbiArIDEpIC52ZW5kb3ItbGlzdF9faXRlbS1mbHlvdXQge1xuICAgICAgICBsZWZ0OiBjYWxjKC0xMDAlIC0gMXJlbSk7XG4gICAgfVxuXG4gICAgLnZlbmRvci1saXN0LXNlY3Rpb24taXRlbXMgLnZlbmRvci1saXN0X19pdGVtLWNvbnRhaW5lcjpsYXN0LWNoaWxkOm50aC1jaGlsZCg1bikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTE1MCUgLSAxLjVyZW0pO1xuICAgIH1cblxuICAgIC52ZW5kb3ItbGlzdC1zZWN0aW9uLWl0ZW1zIC52ZW5kb3ItbGlzdF9faXRlbS1jb250YWluZXI6bnRoLWNoaWxkKDRuKTpudGgtbGFzdC1jaGlsZCgybikgLnZlbmRvci1saXN0X19pdGVtLWZseW91dCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTUwJSAtIC41cmVtKVxuICAgIH1cbn0iLCIvKiBZQVBMXG5uYW1lOiBWZW5kb3IgU3BvdGxpZ2h0XG5wYXJ0aWFsOiB2ZW5kb3Itc3BvdGxpZ2h0XG5jb250ZXh0OiB2ZW5kb3Itc3BvdGxpZ2h0Lm1hcmtldHBsYWNlXG5zZWxlY3RvcjogLnZlbmRvci1zcG90bGlnaHRcbiovXG5cbi8qIFlBUExcbm5hbWU6IFZlbmRvciBTcG90bGlnaHQgLSBTaG9ydFxucGFydGlhbDogdmVuZG9yLXNwb3RsaWdodFxuY29udGV4dDogdmVuZG9yLXNwb3RsaWdodC5wb3J0bGV0LXNob3J0XG5zZWxlY3RvcjogLnZlbmRvci1zcG90bGlnaHRcbiovXG5cbi52ZW5kb3Itc3BvdGxpZ2h0X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaW1nIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOiAzcmVtIDFyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luOiAzcmVtIDJyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAudmVuZG9yLXNwb3RsaWdodC0tbmFycm93ICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICB9XG59XG5cbi52ZW5kb3Itc3BvdGxpZ2h0LXNob3J0X19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuLnZlbmRvci1zcG90bGlnaHRfX2l0ZW0taW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMS41cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC5idXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxOXB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5mYS1leHRlcm5hbC1saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi0tbWFnZW50YS1kYXJrIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJG1hZ2VudGEtZGFyaywgOCUpO1xuXG4gICAgICAgIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQtLW1hZ2VudGEtZGFyay1ob3Zlci5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLS1yZWQtYnJpY2sge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vYXJyb3ctcmlnaHQtLXJlZC1icmljay1ob3Zlci5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLS1tb3JlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mYS1leHRlcm5hbC1saW5rIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IENhbXBhaWduIEhlYWRlclxucGFydGlhbDogY2FtcGFpZ24taGVhZGVyXG5zZWxlY3RvcjogLmNhbXBhaWduLWhlYWRlclxuKi9cblxuLmNhbXBhaWduLWhlYWRlciB7XG4gIGhlaWdodDogcmVtLWNhbGMoMTI2KTtcblxuICAucm93IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyX19ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXG4gICAgPiAucm93IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLW9yYW5nZS1saWdodCB7XG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogLjI1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDUpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5jYW1wYWlnbi1oZWFkZXJfX2N0YSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogQ2FtcGFpZ24gSW5mb2dyYXBoaWNcbnBhcnRpYWw6IGNhbXBhaWduLWluZm9ncmFwaGljXG5jb250ZXh0OiBjYW1wYWlnbi1pbmZvZ3JhcGhpYy5jYW1wYWlnbi1sYW5kaW5nXG5zZWxlY3RvcjogLmNhbXBhaWduLWluZm9ncmFwaGljc1xuKi9cblxuJGJvcmRlci1zdHlsZTogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbGlnaHQ7XG5cbi5jYW1wYWlnbi1pbmZvZ3JhcGhpYyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXN0eWxlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW0ge1xuICAgICAgJjpudGgtY2hpbGQoMm4tMSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItc3R5bGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW0ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXN0eWxlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIC5jYW1wYWlnbi1pbmZvZ3JhcGhpY19faXRlbSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItc3R5bGU7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlci1zdHlsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FtcGFpZ24taW5mb2dyYXBoaWNfX2l0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNDVzO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtaW4tdmlldyB7XG4gICAgLmNhbXBhaWduLWluZm9ncmFwaGljX19pdGVtIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBDYW1wYWlnbiBMYW5kaW5nIC0gTWFpbiBGZWF0dXJlXG5wYXJ0aWFsOiBzZy1jYW1wYWlnbi1sYW5kaW5nLW1haW5cbnNlbGVjdG9yOiAuY2FtcGFpZ24tbGFuZGluZy1tYWluXG5jb250ZXh0OiBjYW1wYWluZy1sYW5kaW5nXG4qL1xuXG4uY2FtcGFpZ24tbGFuZGluZy1tYWluIHtcbiAgLmNhbXBhaWduLWxhbmRpbmdfX3RleHQtY2FsbG91dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1ibG9jayB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDUwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAuNnMgZWFzZTtcbiAgfVxuXG4gIC5jYW1wYWlnbi1sYW5kaW5nX19pbWFnZS1ibG9jayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5pcy1pZSAmIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGluay0tbW9yZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgJXRyYWNraW5nLTEwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1jYWxsb3V0LS10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgLjZzIGVhc2U7XG5cbiAgICAgIC5jYW1wYWlnbi1sYW5kaW5nX19pbWFnZS1ibG9jayB7XG4gICAgICAgIGhlaWdodDogMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcmVtO1xuICAgICAgfVxuXG4gICAgICAubGluay0tbW9yZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbXBhaWduLWxhbmRpbmdfX3BsYXllciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC01cmVtO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLnNwbGFzaC0tdmlkZW8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjUwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FtcGFpZ24tbGFuZGluZ19fdGV4dC1jYWxsb3V0LS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTByZW07XG4gICAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgbWFyZ2luLXRvcDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5pcy12aWRlby1zdGFydGVkIHtcbiAgICAgIC5jYW1wYWlnbi1sYW5kaW5nX190ZXh0LWNhbGxvdXQtLXRvcCB7XG4gICAgICAgIC5jYW1wYWlnbi1sYW5kaW5nX190ZXh0LWJsb2NrIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICAgIHRvcDogLThyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhbXBhaWduLWxhbmRpbmdfX3RleHQtY2FsbG91dC0tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICAgICAgdG9wOiAtMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FtcGFpZ24tbGFuZGluZ19faW1hZ2UtYmxvY2sge1xuICAgICAgLmlzLWllICYge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBDYW1wYWlnbiBRdW90ZVxucGFydGlhbDogY2FtcGFpZ24tcXVvdGVcbmNvbnRleHQ6IGZlYXR1cmVkLXF1b3Rlcy5jYW1wYWlnbi1sYW5kaW5nXG5zZWxlY3RvcjogLmNhbXBhaWduLXF1b3RlXG4qL1xuXG4uY2FtcGFpZ24tcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuXG4gIC5mZWF0dXJlZC1xdW90ZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNzUpIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgMDtcbiAgICB9XG4gIH1cblxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24vY2FtcGFpZ24tcXVvdGUtLXRlYWwuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1Mik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiByZW0tY2FsYyg4Mik7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA0MXB4KTtcbiAgICB0b3A6IC0xcmVtO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTFyZW07XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gNDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogQ2FtcGFpZ24gSW1hZ2UgRmVhdHVyZVxucGFydGlhbDogY2FtcGFpZ24taW1hZ2UtZmVhdHVyZVxuY29udGV4dDogY2FtcGFpZ24taW1hZ2VzLmNhbXBhaWduLWxhbmRpbmdcbnNlbGVjdG9yOiAuY2FtcGFpZ24taW1hZ2UtZmVhdHVyZVxuKi9cblxuLmNhbXBhaWduLWltYWdlLWZlYXR1cmUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2FtcGFpZ24taW1hZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMjApIHNvbGlkICRvcmFuZ2UtbGlnaHQ7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNhbXBhaWduLWltYWdlX190ZXh0LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuY2FtcGFpZ24taW1hZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIC5jYW1wYWlnbi1pbWFnZV9fdGV4dC1jb250YWluZXIge1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDUpIHJlbS1jYWxjKDUwKSByZW0tY2FsYyg1MCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MHB4KTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICAgIHRyYW5zaXRpb246IC42cyBlYXNlO1xuICAgICAgd2lkdGg6IDY1JTtcblxuICAgICAgJi5pcy1pbi12aWV3IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmNhbXBhaWduLWltYWdlX19pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICAuY2FtcGFpZ24taW1hZ2VfX3RleHQtY29udGFpbmVyIHtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNzUpO1xuICAgICAgd2lkdGg6IDU1JTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBSb3dcbnBhcnRpYWw6IGJ1dHRvbi1yb3dcbmNvbnRleHQ6IGJ1dHRvbi1yb3dcbnNlbGVjdG9yOiAuYnV0dG9uLXJvd1xuKi9cblxuLmJ1dHRvbi1yb3cge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4iLCIubG9jYXRpb25zIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNykgcmVtLWNhbGMoMTUpO1xuXG4gICAgJi5idXR0b24tLW9yYW5nZSB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWNjcmVkaXRlZCB7XG4gICAgLmZhLW1hcC1tYXJrZXIge1xuICAgICAgY29sb3I6ICRncmVlbi1saW1lO1xuICAgIH1cblxuICAgICYubWFwLWluZm93aW5kb3ctY29udGVudCB7XG4gICAgICBib3JkZXItY29sb3I6ICRncmVlbi1saW1lO1xuICAgIH1cblxuICAgICYubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0uaXMtc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDYpIHNvbGlkICRncmVlbi1saW1lO1xuICAgIH1cbiAgfVxuXG4gIC5ub3QtYWNjcmVkaXRlZCB7XG4gICAgLmZhLW1hcC1tYXJrZXIge1xuICAgICAgY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgIH1cblxuICAgICYubWFwLWluZm93aW5kb3ctY29udGVudCB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgIH1cblxuICAgICYubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0uaXMtc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDYpIHNvbGlkICRibHVlLWxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5vbi1wYXRod2F5IHtcbiAgICAuZmEtbWFwLW1hcmtlciB7XG4gICAgICBjb2xvcjogJG1hZ2VudGEtZGFyaztcbiAgICB9XG5cbiAgICAmLm1hcC1pbmZvd2luZG93LWNvbnRlbnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbWFnZW50YS1kYXJrO1xuICAgIH1cblxuICAgICYubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0uaXMtc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDYpIHNvbGlkICRtYWdlbnRhLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi5sb2NhdGlvbnMtc2VhcmNoIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuXG4gIC5maWVsZCB7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1saWdodDtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwO1xuXG4gICAgLmZpZWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDc1KTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLXRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLmZpZWxkICsgLmJ1dHRvbiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MSk7XG5cbiAgICAgIC5pY29uLmZhIHtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygtMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMzUpO1xuXG4gICAgJi5saW5rLS1tb3JlIC5pY29uLmZhLmZhLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0uMDVyZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi5sb2NhdGlvbnMtcmVzdWx0cyB7XG4gIGhlaWdodDogY2FsYyg1MHZoIC0gNTBweCk7XG4gIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDcwMCk7XG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSAwIHJlbS1jYWxjKDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYm9yZGVyLXRvcDogLjVyZW0gc29saWQgJHdoaXRlO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE5MHB4KTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjZzIGVhc2U7XG5cbiAgICAubG9jYXRpb25zLWZpbHRlci5pcy1zaG93aW5nLWZpbHRlcnMgfiAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtZ3JheTtcblxuICAgICAgLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubG9jYXRpb25zLW1hcCB7XG4gIGhlaWdodDogY2FsYyg1MHZoIC0gNjBweCk7XG4gIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDcwMCk7XG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTl2aCAtIDE5MXB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTB2aCAtIDE5MHB4KTtcbiAgfVxuICBcbiAgLmxvY2F0aW9ucy1tYXBfX2NhbnZhcyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmluZm9Cb3gge1xuICAgIEBleHRlbmQgJXNoYWRvd2VkLS1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICA+IGltZyB7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmlhbmdsZSgzNXB4LCAxMHB4LCBuLCAkd2hpdGUpO1xuICAgICAgbGVmdDogMTdweDtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1hcC1pbmZvd2luZG93LWNvbnRlbnQge1xuICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYyg1KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ubG9jYXRpb25zLXJlc3VsdHMgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbn1cblxuLmxvY2F0aW9ucy1yZXN1bHRzX19pdGVtcyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG59XG5cbi5sb2NhdGlvbnMtcmVzdWx0c19faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1saWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlciwgYm94LXNoYWRvdztcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMCU7XG4gIH1cblxuICAuZmEtbWFwLW1hcmtlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiByZW0tY2FsYygtNCk7XG4gIH1cblxuICAubG9jYXRpb25zLXJlc3VsdHNfX2l0ZW0tY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLmxvY2F0aW9ucy1yZXN1bHRzX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC43NXJlbTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgLmxvY2F0aW9ucy1yZXN1bHRzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5sb2NhdGlvbnMtcmVzdWx0c19fdmlldy1tb3JlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmcmFua2xpbi1nb3RoaWMtY29uZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubG9jYXRpb25zLW1hcC1sZWdlbmQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDEzKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNzEpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyMCk7XG4gIH1cblxuICAubG9jYXRpb25zLW1hcF9fa2V5IHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmZhLW1hcC1tYXJrZXIge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpO1xuICB9XG59XG5cbi5sb2NhdGlvbnMtLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sb2NhdGlvbnMtZmlsdGVyIHtcbiAgLmZpbHRlcnNfX2J1dHRvbi1ncm91cCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxuXG4gIC5maWx0ZXJzX19jbGVhci1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmlzaWJpbGl0eSwgb3BhY2l0eSwgbWFyZ2luO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmZpbHRlcnNfX2dyb3Vwcy1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMykgdHJhbnNsYXRlWigwKTtcbiAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmlzaWJpbGl0eSwgb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgei1pbmRleDogei1pbmRleCgnYnJlYWRjcnVtYi0xJyk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMzApO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuXG4gICAgICAmLmlzLXNob3dpbmcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2Nsb3NlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5maWx0ZXJzX19ncm91cHMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2ZpbHRlci1ncm91cHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5maWx0ZXJzX19ncm91cC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2dyb3VwIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZTtcblxuICAgICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLW9wZW4ge1xuICAgICAgICAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDY4JztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyc19fZ3JvdXAtc3RhdHVzIHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzX19ncm91cC1pdGVtcyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAxNHB4IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpbHRlcnNfX2dyb3VwLWhlYWRlci10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuXG4gICAgICAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWF3ZXNvbWU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXJzX19ncm91cC1zdGF0dXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogLjRzIGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHZpc2liaWxpdHk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuaXMtaGlkZGVuIHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzX19ncm91cC1pdGVtcyB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMCAxNHB4IDAgMzBweDtcbiAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlLCAuN3MgZWFzZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAuZmlsdGVyc19fZ3JvdXBzLWlubmVyIHtcbiAgICAgIGZsZXg6IDAgMCA4MCU7XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2dyb3VwLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZmlsdGVyc19fZ3JvdXBzLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2dyb3VwLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgIC5maWx0ZXJzX19ncm91cHMtaW5uZXIgPiB7XG4gICAgICAuZmlsdGVyc19fZ3JvdXAtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRlYWw7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyc19fZmlsdGVyLWdyb3VwcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2dyb3VwLXN0YXR1cyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXJzX19idXR0b24tZ3JvdXAge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbGlnaHQ7XG5cbiAgICAgIC5pY29uLS1jbG9zZS1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi9jbG9zZS0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZmluZC1zY2hvb2wtdGVwLWNvbnRlbnR7XG5cdGEge1xuXHRcdGNvbG9yOiAkb3JhbmdlLWRhcms7XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdCAgY29sb3I6ICRvcmFuZ2UtcGFsZTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHQgIGNvbG9yOiAkcmVkLWRhcms7XG5cdFx0fVxuXHQgIH1cbn0iLCIvKiBZQVBMXG5uYW1lOiBGZWF0dXJlZCBMb2NhdGlvbnNcbnBhcnRpYWw6IGZlYXR1cmVkLWxvY2F0aW9uc1xuY29udGV4dDogZmVhdHVyZWQtbG9jYXRpb25zLmZpbmQtYS1zY2hvb2xcbnNlbGVjdG9yOiAuZmVhdHVyZWQtbG9jYXRpb25zXG4qL1xuXG4uZmVhdHVyZWQtbG9jYXRpb25zX19sb2NhdGlvbi1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICB9XG59XG5cbi5mZWF0dXJlZC1sb2NhdGlvbnNfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICB9XG59XG5cbi5mZWF0dXJlZC1sb2NhdGlvbnNfX3RleHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgLmxpbmsge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBQcm9maWxlIERldGFpbHNcbnBhcnRpYWw6IHNnLXByb2ZpbGUtZGV0YWlsc1xuY29udGV4dDogcHJvZmlsZXMuc2Nob29sLXByb2ZpbGVcbnNlbGVjdG9yOiAucHJvZmlsZS1kZXRhaWxzXG4qL1xuXG4ucHJvZmlsZS1kZXRhaWxzIHtcbiAgLnByb2ZpbGUtZGV0YWlsc19fcHJvZ3JhbS1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGdyYXktbGlnaHQ7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbiAgfVxuXG4gIC5wcm9maWxlLWRldGFpbHNfX2ZhY3RzLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kZXRhaWxzX19mYWN0cy1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cblxuICAucHJvZmlsZS1kZXRhaWxzX19wcm9ncmFtLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0KSB7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxMjUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxOCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kZXRhaWxzX19wYXRod2F5LWltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cblxuICAucHJvZmlsZS1kZXRhaWxzX19wYXRod2F5LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheS1saWdodDtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogUHJvZmlsZSBDb250YWN0IERldGFpbHNcbnBhcnRpYWw6IHByb2ZpbGUtY29udGFjdFxuY29udGV4dDogY29udGFjdC5zY2hvb2wtcHJvZmlsZVxuc2VsZWN0b3I6IC5wcm9maWxlLWNvbnRhY3RcbiovXG5cbi5wcm9maWxlLWNvbnRhY3Qge1xuICAucHJvZmlsZS1jb250YWN0X19sZWZ0IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDM1KSByZW0tY2FsYyg0NSk7XG4gICAgfVxuICB9XG5cbiAgLnNvY2lhbC0tcmlnaHQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgIC5mYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWNvbnRhY3RfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMTIwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1jb250YWN0X19zb2NpYWwtcm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnByb2ZpbGUtY29udGFjdF9fbWFwLWNvbnRhaW5lcixcbiAgLnByb2ZpbGUtY29udGFjdF9fbWFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzMwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogU2Nob29sL1RFUCBQcm9maWxlIEluZm9cbnBhcnRpYWw6IHNnLXByb2ZpbGUtYWJvdXRcbnNlbGVjdG9yOiAucHJvZmlsZS1hYm91dFxuKi9cblxuLnByb2ZpbGUtYWJvdXQge1xuICBwYWRkaW5nOiByZW0tY2FsYyg0NSkgMDtcbn1cblxuLnByb2ZpbGUtYWJvdXRfX2ltYWdlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzIpO1xuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBVcGNvbWluZyBFdmVudHNcbnBhcnRpYWw6IHNnLXVwY29taW5nLWV2ZW50c1xuc2VsZWN0b3I6IC51cGNvbWluZy1ldmVudHNcbiovXG5cbi51cGNvbWluZy1ldmVudHMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gIC5pY29uLS1jYWxlbmRhciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzMSk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICB9XG59XG5cbi51cGNvbWluZy1ldmVudHNfX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgJjpudGgtY2hpbGQoMm4tMSkge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gIH1cbn1cblxuLnVwY29taW5nLWV2ZW50c19faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoNDUpO1xufVxuIiwiQG1lZGlhIHByaW50IHtcclxuICA6cm9vdCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgfVxyXG5cclxuICBoZWFkZXIsXHJcbiAgLmNvbmZlcmVuY2Utc2Vjb25kYXJ5LW5hdixcclxuICAuZmlsdGVycyxcclxuICAuY29uZmVyZW5jZS1jYWxsb3V0cyxcclxuICAuc2VhcmNoLXJlc3VsdHNfX2NhdGVnb3J5LXN3aXRjaGVyLWxpbms6bm90KC5pcy1hY3RpdmUpLFxyXG4gIC5zb2NpYWwsXHJcbiAgLmNvbmZlcmVuY2Utc2NoZWR1bGVfX25leHQtbGluayxcclxuICAuc2VhcmNoLXJlc3VsdHMtc3RhdHVzX190b3BpYzo6YmVmb3JlLFxyXG4gIC5jb25mZXJlbmNlLXNjaGVkdWxlIC5idXR0b24sXHJcbiAgLmNvbmZlcmVuY2Utc2NoZWN1bGVfX2dyb3VwLWhlYWRlci10ZXh0IGltZyB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29uZmVyZW5jZS1zY2hlZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmNvbmZlcmVuY2Utc2NoZWR1bGVfX2dyb3VwLWhvdXJzIHtcclxuICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuYmFja2dyb3VuZC0tcGFkZGluZy1sYXJnZS1zaWRlcyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNvbmZlcmVuY2Utc3BsYXNoLnNwbGFzaC0tc2Vjb25kYXJ5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDFyZW0gMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgYSxcclxuICBhOnZpc2l0ZWQge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBhW2hyZWZdOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgXHJcbiAgfVxyXG5cdFxyXG4gIC5zcGxhc2hfX3RpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb25mZXJlbmNlLXNwbGFzaCB7XHJcbiAgICArIC52ZXJ0aWNhbC1tYXJnaW4tMiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICsgLnZlcnRpY2FsLW1hcmdpbi0yIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb25mZXJlbmNlLWhlYWRlciArIG1haW4ge1xyXG4gICAgLnJvdy52ZXJ0aWNhbC1tYXJnaW4tMi5hbGlnbi1jZW50ZXIge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnZlcnRpY2FsLW1hcmdpbi01Omxhc3QtY2hpbGQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5ydGYudmVydGljYWwtbWFyZ2luLTIucm93LmNvbHVtbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb25mZXJlbmNlLXNjaGVkdWxlX19ncm91cC1oZWFkZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29uZmVyZW5jZS1mb290ZXIgLmNvbmZlcmVuY2UtZm9vdGVyLWNvbHVtbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb25mZXJlbmNlLWZvb3Rlci1jb2x1bW46Zmlyc3QtY2hpbGQge1xyXG4gICAgLnZlcnRpY2FsLW1hcmdpbi0yLW1lZGl1bSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb25mZXJlbmNlLWZvb3Rlcl9fbG9nbyB7XHJcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2JyYW5kL2xvZ28tbGcuc3ZnJykgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9vdGVyIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ== */
