/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * 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-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  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 */ }

/**
 * 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 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 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 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and 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
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  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 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * 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 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  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; }

/**
 * 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 */ }

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

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

/* 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; }

/**
 * Path
 */
/**
 * Colors
 */
/**
 * Text
 */
/**
 * Responsive
 */
/**
 * Susy
 */
/**
 * Easing
 */
@font-face {
  font-family: 'Avenir LT Std';
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Black.eot");
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-lt-std/AvenirLTStd-Black.woff2") format("woff2"), url("../fonts/avenir-lt-std/AvenirLTStd-Black.woff") format("woff"), url("../fonts/avenir-lt-std/AvenirLTStd-Black.ttf") format("truetype"), url("../fonts/avenir-lt-std/AvenirLTStd-Black.svg#AvenirLTStd-Black") format("svg");
  font-weight: 900;
  font-style: normal; }

@font-face {
  font-family: 'Avenir LT Std';
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Medium.eot");
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-lt-std/AvenirLTStd-Medium.woff2") format("woff2"), url("../fonts/avenir-lt-std/AvenirLTStd-Medium.woff") format("woff"), url("../fonts/avenir-lt-std/AvenirLTStd-Medium.ttf") format("truetype"), url("../fonts/avenir-lt-std/AvenirLTStd-Medium.svg#AvenirLTStd-Medium") format("svg");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Avenir LT Std';
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Roman.eot");
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Roman.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-lt-std/AvenirLTStd-Roman.woff2") format("woff2"), url("../fonts/avenir-lt-std/AvenirLTStd-Roman.woff") format("woff"), url("../fonts/avenir-lt-std/AvenirLTStd-Roman.ttf") format("truetype"), url("../fonts/avenir-lt-std/AvenirLTStd-Roman.svg#AvenirLTStd-Roman") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Avenir LT Std';
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.eot");
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.woff2") format("woff2"), url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.woff") format("woff"), url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.ttf") format("truetype"), url("../fonts/avenir-lt-std/AvenirLTStd-Oblique.svg#AvenirLTStd-Oblique") format("svg");
  font-weight: normal;
  font-style: italic; }

@font-face {
  font-family: 'Avenir LT Std';
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.eot");
  src: url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.eot?#iefix") format("embedded-opentype"), url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.woff2") format("woff2"), url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.woff") format("woff"), url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.ttf") format("truetype"), url("../fonts/avenir-lt-std/AvenirLTStd-Heavy.svg#AvenirLTStd-Heavy") format("svg");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: "eiffage";
  src: url("../fonts/eiffage/eiffage.eot?0.0.3");
  src: url("../fonts/eiffage/eiffage.eot?0.0.3#iefix") format("eot"), url("../fonts/eiffage/eiffage.woff2?0.0.3") format("woff2"), url("../fonts/eiffage/eiffage.woff?0.0.3") format("woff"), url("../fonts/eiffage/eiffage.ttf?0.0.3") format("truetype"), url("../fonts/eiffage/eiffage.svg?0.0.3#eiffage") format("svg"); }

.icon:before, .breadcrumb a:before, .wysiwyg blockquote:before, .square__button--prev:before, .block__textslider__slider .arrow--left:before, .square__button--next:before, .block__textslider__slider .arrow--right:before, body.mobile .field--select:before, body.mobile .list-select-wrap .nf-field-element:before, body.tablet .field--select:before, body.tablet .list-select-wrap .nf-field-element:before, .nf-response-msg:before, .dk-selected:before, .tabs__arrow:before, .pagination .prev:before, .pagination .next:before, .citation__text:before {
  font-family: "eiffage";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
  text-decoration: none;
  text-transform: none; }

.icon-address:before {
  content: "\E001"; }

.icon-architect:before {
  content: "\E002"; }

.icon-area:before {
  content: "\E003"; }

.icon-arrow-bottom:before, .dk-selected:before {
  content: "\E004"; }

.icon-arrow-left:before, .square__button--prev:before, .block__textslider__slider .arrow--left:before, .pagination .prev:before {
  content: "\E005"; }

.icon-arrow-right-fill:before, .breadcrumb a:before {
  content: "\E006"; }

.icon-arrow-right:before, .breadcrumb a:before, .square__button--next:before, .block__textslider__slider .arrow--right:before, .tabs__arrow:before, .pagination .next:before {
  content: "\E007"; }

.icon-arrow-top:before {
  content: "\E008"; }

.icon-balance:before {
  content: "\E009"; }

.icon-behavior:before {
  content: "\E00A"; }

.icon-budget:before {
  content: "\E00B"; }

.icon-citation:before, .wysiwyg blockquote:before, .citation__text:before {
  content: "\E00C"; }

.icon-clearness:before {
  content: "\E00D"; }

.icon-close-far:before {
  content: "\E00E"; }

.icon-coin:before {
  content: "\E00F"; }

.icon-company:before {
  content: "\E010"; }

.icon-cone:before {
  content: "\E011"; }

.icon-construction:before {
  content: "\E012"; }

.icon-cross:before {
  content: "\E013"; }

.icon-crowd:before {
  content: "\E014"; }

.icon-date:before {
  content: "\E015"; }

.icon-dna:before {
  content: "\E016"; }

.icon-email:before {
  content: "\E017"; }

.icon-facebook:before {
  content: "\E018"; }

.icon-fax:before {
  content: "\E019"; }

.icon-googleplus:before {
  content: "\E01A"; }

.icon-growth:before {
  content: "\E01B"; }

.icon-hands:before {
  content: "\E01C"; }

.icon-helmet:before {
  content: "\E01D"; }

.icon-house:before {
  content: "\E01E"; }

.icon-hydraulic:before {
  content: "\E01F"; }

.icon-information:before {
  content: "\E020"; }

.icon-instagram:before {
  content: "\E021"; }

.icon-international:before {
  content: "\E022"; }

.icon-link:before {
  content: "\E023"; }

.icon-linkedin:before {
  content: "\E024"; }

.icon-loader:before {
  content: "\E025"; }

.icon-marker:before {
  content: "\E026"; }

.icon-medal:before {
  content: "\E027"; }

.icon-notes:before {
  content: "\E028"; }

.icon-open-door:before {
  content: "\E029"; }

.icon-pdf:before {
  content: "\E02A"; }

.icon-perseverance:before {
  content: "\E02B"; }

.icon-person:before {
  content: "\E02C"; }

.icon-phone:before {
  content: "\E02D"; }

.icon-play:before {
  content: "\E02E"; }

.icon-responsibility:before {
  content: "\E02F"; }

.icon-search:before {
  content: "\E030"; }

.icon-sound:before {
  content: "\E031"; }

.icon-star:before {
  content: "\E032"; }

.icon-suitcase:before {
  content: "\E033"; }

.icon-target:before {
  content: "\E034"; }

.icon-tools:before {
  content: "\E035"; }

.icon-trust:before {
  content: "\E036"; }

.icon-turnover:before {
  content: "\E037"; }

.icon-twitter:before {
  content: "\E038"; }

.icon-user:before {
  content: "\E039"; }

.icon-valide:before, .nf-response-msg:before {
  content: "\E03A"; }

.icon-wen:before {
  content: "\E03B"; }

.icon-youtube:before {
  content: "\E03C"; }

@keyframes showUp {
  0% {
    transform: translate(0, 15%);
    opacity: 0; }
  100% {
    transform: translate(0, 0%);
    opacity: 1; } }

@keyframes showUpTitle {
  0% {
    transform: translate(0, 15%); }
  100% {
    transform: translate(0, 0%); } }

@keyframes showDown {
  0% {
    transform: translateY(-15%);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

@keyframes hideDown {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(15%);
    opacity: 0; } }

@keyframes hideUp {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(-15%);
    opacity: 0; } }

@keyframes showLeft {
  0% {
    transform: translateX(-15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes showRight {
  0% {
    transform: translateX(15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes backgroundPosition {
  0% {
    opacity: 0;
    background-position: -600px center; }
  100% {
    opacity: 1;
    background-position: 0 center; } }

@keyframes loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes loader-inner {
  0% {
    height: 0%; }
  25% {
    height: 0%; }
  50% {
    height: 100%; }
  75% {
    height: 100%; }
  100% {
    height: 0%; } }

@keyframes loader-spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes menu_item_underline_active {
  0% {
    right: 100%; }
  100% {
    right: 0; } }

@keyframes swing_show {
  0% {
    transform: translateX(0);
    opacity: 0; }
  20% {
    transform: translateX(-5px);
    opacity: 1; }
  40% {
    transform: translateX(5px); }
  60% {
    transform: translateX(-5px); }
  80% {
    transform: translateX(5px); }
  100% {
    transform: translateX(0);
    opacity: 1; } }

.breadcrumb {
  text-align: center; }
  .breadcrumb a {
    line-height: 1.125rem;
    position: relative;
    display: inline-block;
    margin-right: 0.625rem;
    padding-right: 0.9375rem; }
    .breadcrumb a::before {
      font-size: 0.625rem;
      line-height: 0.875rem;
      position: absolute;
      top: 0;
      right: 0;
      display: block;
      pointer-events: none;
      color: #1b1f2e; }

.heading {
  position: relative;
  margin-bottom: 80px; }
  @media screen and (min-width: 501px) {
    .heading {
      min-height: 400px;
      overflow: hidden; }
      .page__default .heading,
      .page__search .heading {
        min-height: 0; }
      .page__single_realisations .heading,
      .page__single_jobs .heading {
        min-height: 250px; } }
  .heading--nospace {
    margin-bottom: 0; }
  .heading ::-moz-selection {
    background-color: #ffffff;
    color: #000000; }
  .heading ::selection {
    background-color: #ffffff;
    color: #000000; }
  .heading ::-moz-selection {
    background-color: #ffffff;
    color: #000000; }
  .heading .center, .heading body .center--small, body .heading .center--small, .heading body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .heading .realisations__electric_setup__listing.one_col, .heading .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .heading .realisations__electric_setup__listing.one_col, .heading .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .heading a {
    height: 100%; }
    @media screen and (max-width: 500px) {
      .heading .center, .heading body .center--small, body .heading .center--small, .heading body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .heading .realisations__electric_setup__listing.one_col, .heading .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .heading .realisations__electric_setup__listing.one_col, .heading .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .heading a {
        padding-top: 50px;
        padding-bottom: 50px; } }
  .heading .heading__content {
    margin-top: 100px;
    margin-bottom: 50px;
    /**
         * Side spacing based on .center
         */ }
    @media screen and (min-width: 501px) {
      .page__default .heading .heading__content {
        margin-top: 50px;
        margin-bottom: 50px; } }
    @media screen and (max-width: 750px) {
      .heading .heading__content {
        margin-top: 50px; } }
    @media screen and (max-width: 1500px) {
      .heading .heading__content {
        left: 1.875em;
        right: 1.875em; } }
    @media screen and (max-width: 500px) {
      .heading .heading__content {
        position: relative;
        margin-top: 0;
        left: 0; } }
  .heading__title {
    text-align: left;
    color: #ffffff;
    font-size: 35px;
    font-weight: bold;
    margin: 0; }
    .color_light .heading__title {
      color: #ffffff; }
    .color_dark .heading__title {
      color: #1b1f2e; }
  .heading__text {
    text-align: left;
    color: #ffffff;
    max-width: 750px;
    font-size: 18px;
    line-height: 1.777;
    margin-top: 20px;
    margin-bottom: 20px; }
    .color_light .heading__text {
      color: #ffffff; }
    .color_dark .heading__text {
      color: #1b1f2e; }
  .heading__background {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background-color: #9B9A9F;
    /**
        List of colours:
        color__red : Rouge
        color__green : Vert
        color__yellow : Jaune
        color__blue : Bleu
        color__grey : Gris
         */ }
    .bg_color__green .heading__background {
      background-color: #3F9C35; }
    .bg_color__red .heading__background {
      background-color: #ff0000; }
    .bg_color__blue .heading__background {
      background-color: #0088CE; }
    .bg_color__yellow .heading__background {
      background-color: #FED100; }
    .heading__background__img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }

.breadcrumb {
  text-align: left;
  margin-bottom: 10px; }
  .breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.2s ease-out;
    text-decoration: none; }
    .breadcrumb a:before {
      color: #ffffff;
      font-size: 0.5em; }
    .breadcrumb a:hover {
      color: #ffffff; }
    .color_dark .breadcrumb a {
      color: rgba(27, 31, 46, 0.8); }
      .color_dark .breadcrumb a:before {
        color: #1b1f2e; }
      .color_dark .breadcrumb a:hover {
        color: #1b1f2e; }
  .breadcrumb span {
    color: #ffffff; }
    .color_dark .breadcrumb span {
      color: #1b1f2e; }

.sub_heading {
  background-color: #E9E9E9;
  padding-top: 70px;
  padding-bottom: 70px; }
  .sub_heading .wysiwyg {
    color: #1b1f2e;
    max-width: 800px; }

.wysiwyg {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.1px;
  overflow: hidden;
  /**
     * IMAGES
     */
  /**
     * H#
     */
  /**
     * Citation
     */
  /**
     * hr
     */
  /**
     * List
     */ }
  .wysiwyg p {
    margin-bottom: 20px; }
  .wysiwyg *:last-child {
    margin-bottom: 0; }
  .wysiwyg--light {
    color: #ffffff; }
  .wysiwyg a {
    text-decoration: none;
    white-space: nowrap;
    position: relative; }
    .wysiwyg a:after {
      content: '';
      display: block;
      position: absolute;
      left: 20%;
      right: 20%;
      border-bottom: 1px solid #ff0000;
      bottom: 0;
      opacity: 0;
      transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), left 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), right 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .wysiwyg a:hover {
      text-decoration: none; }
      .wysiwyg a:hover:after {
        opacity: 1;
        left: 0;
        right: 0; }
    .wysiwyg a.main_link:after, .wysiwyg .error404 a.error404__link:after, .error404 .wysiwyg a.error404__link:after {
      display: none; }
  .wysiwyg a img {
    display: inline-block; }
  .wysiwyg figure {
    display: block;
    max-width: 100%;
    margin: 0 0 1.875em 0; }
    .wysiwyg figure figcaption {
      font-size: 0.75em;
      position: relative;
      display: block; }
    .wysiwyg figure.align-left {
      float: left;
      margin-right: 1.875em; }
    .wysiwyg figure.align-right {
      float: right;
      margin-left: 1.875em; }
    .wysiwyg figure.align-center {
      text-align: center; }
      .wysiwyg figure.align-center img {
        margin: 0 auto; }
  .wysiwyg img {
    max-width: 100%; }
    .wysiwyg img.alignleft {
      float: left;
      margin-right: 1.875em; }
    .wysiwyg img.alignright {
      float: right;
      margin-left: 1.875em; }
    .wysiwyg img.aligncenter {
      margin: 0 auto; }
  .wysiwyg h1, .wysiwyg h2, .wysiwyg h3 {
    font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.8px;
    margin-top: 0.6em;
    margin-bottom: 0.6em; }
  .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 {
    font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
    text-transform: uppercase;
    font-weight: 800;
    margin-top: 0.6em;
    margin-bottom: 0.6em; }
  .wysiwyg h1 {
    font-size: 2.5em; }
  .wysiwyg h2 {
    font-size: 2em; }
  .wysiwyg h3 {
    font-size: 1.6em; }
  .wysiwyg h4 {
    font-size: 1.15em; }
  .wysiwyg h5 {
    font-size: 1em; }
  .wysiwyg h6 {
    font-size: 0.8em; }
  .wysiwyg blockquote {
    position: relative;
    font-style: italic;
    text-align: left;
    margin: 1em 10%;
    display: block;
    line-height: 1.8; }
    .wysiwyg blockquote p:first-child {
      margin-top: 0; }
    .wysiwyg blockquote:before {
      font-size: 3em;
      opacity: 0.2;
      line-height: 1;
      position: absolute;
      z-index: 10;
      top: -10px;
      left: -15px;
      color: #ff0000; }
  .wysiwyg hr {
    margin: 1.875em;
    border: 1px solid #b3b4b9; }
  .wysiwyg ul,
  .wysiwyg ol {
    margin: 0 0 1.875em;
    padding: 0; }
    .wysiwyg ul li,
    .wysiwyg ol li {
      position: relative;
      line-height: 1.5;
      margin-bottom: 0.625em; }
      .wysiwyg ul li:last-child,
      .wysiwyg ol li:last-child {
        margin-bottom: 0; }
    .wysiwyg ul ul,
    .wysiwyg ul ol,
    .wysiwyg ol ul,
    .wysiwyg ol ol {
      margin-bottom: 0.625em; }
  .wysiwyg ul {
    list-style: none; }
    .wysiwyg ul > li {
      padding-left: 1.25em; }
      .wysiwyg ul > li:before {
        content: '';
        display: inline-block;
        background: transparent;
        background-color: #ff0000;
        width: 6px;
        height: 6px;
        margin-right: 12px;
        position: absolute;
        top: 0.5em;
        left: 5px;
        margin-top: -2px; }
  .wysiwyg ol {
    counter-reset: list; }
    .wysiwyg ol > li {
      padding-left: 1.25em;
      margin-bottom: 0.8em; }
      .wysiwyg ol > li:before {
        position: absolute;
        top: 0;
        left: 0;
        background: none;
        border-radius: 0;
        content: counter(list) ". ";
        counter-increment: list; }

button {
  cursor: pointer;
  padding: 0;
  margin: 0;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none; }
  button:focus {
    outline: none; }

.square__button, .square__button--prev, .block__textslider__slider .arrow--left, .square__button--next, .block__textslider__slider .arrow--right {
  position: relative;
  width: 42px;
  height: 42px;
  border: 2px solid #ff0000;
  background-color: transparent;
  color: #ff0000;
  padding: 0;
  border-radius: 1px; }
  .square__button:before, .square__button--prev:before, .block__textslider__slider .arrow--left:before, .square__button--next:before, .block__textslider__slider .arrow--right:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.close__button {
  cursor: pointer; }

.link--basic, .map__infowindow__info__item a, .page__join_us .join_us__offers__link {
  text-decoration: none;
  white-space: nowrap;
  position: relative; }
  .link--basic:after, .map__infowindow__info__item a:after, .page__join_us .join_us__offers__link:after {
    content: '';
    display: block;
    position: absolute;
    left: 20%;
    right: 20%;
    border-bottom: 1px solid #ff0000;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), left 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), right 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .link--basic:hover, .map__infowindow__info__item a:hover, .page__join_us .join_us__offers__link:hover {
    text-decoration: none; }
    .link--basic:hover:after, .map__infowindow__info__item a:hover:after, .page__join_us .join_us__offers__link:hover:after {
      opacity: 1;
      left: 0;
      right: 0; }

.btn--close {
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  background: transparent;
  border-radius: none;
  border: none;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
  padding: 10px;
  cursor: pointer;
  outline: none;
  color: #ffffff;
  background-color: #ff0000; }
  .btn--close:hover .icon, .btn--close:hover .breadcrumb a, .breadcrumb .btn--close:hover a, .btn--close:hover .wysiwyg blockquote, .wysiwyg .btn--close:hover blockquote, .btn--close:hover .square__button--prev, .btn--close:hover .block__textslider__slider .arrow--left, .block__textslider__slider .btn--close:hover .arrow--left, .btn--close:hover .square__button--next, .btn--close:hover .block__textslider__slider .arrow--right, .block__textslider__slider .btn--close:hover .arrow--right, .btn--close:hover body.mobile .field--select, body.mobile .btn--close:hover .field--select, .btn--close:hover body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .btn--close:hover .nf-field-element, .btn--close:hover body.tablet .field--select, body.tablet .btn--close:hover .field--select, .btn--close:hover body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .btn--close:hover .nf-field-element, .btn--close:hover .nf-response-msg, .btn--close:hover .dk-selected, .btn--close:hover .tabs__arrow, .btn--close:hover .pagination .prev, .pagination .btn--close:hover .prev, .btn--close:hover .pagination .next, .pagination .btn--close:hover .next, .btn--close:hover .citation__text {
    transform: scale(1.15); }
  .btn--close .icon, .btn--close .breadcrumb a, .breadcrumb .btn--close a, .btn--close .wysiwyg blockquote, .wysiwyg .btn--close blockquote, .btn--close .square__button--prev, .btn--close .block__textslider__slider .arrow--left, .block__textslider__slider .btn--close .arrow--left, .btn--close .square__button--next, .btn--close .block__textslider__slider .arrow--right, .block__textslider__slider .btn--close .arrow--right, .btn--close body.mobile .field--select, body.mobile .btn--close .field--select, .btn--close body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .btn--close .nf-field-element, .btn--close body.tablet .field--select, body.tablet .btn--close .field--select, .btn--close body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .btn--close .nf-field-element, .btn--close .nf-response-msg, .btn--close .dk-selected, .btn--close .tabs__arrow, .btn--close .pagination .prev, .pagination .btn--close .prev, .btn--close .pagination .next, .pagination .btn--close .next, .btn--close .citation__text {
    display: inline-block;
    vertical-align: middle;
    margin-top: -2px;
    transition: transform 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }

.btn--stroke, .nf-field .nf-field-element input[type=button], .nf-field .nf-field-element input[type=submit] {
  -moz-appearance: none;
  appearance: none;
  display: block;
  position: relative;
  background-color: transparent;
  border: 2px solid #ff0000;
  color: #ff0000;
  padding: 15px 20px;
  font-weight: 700;
  font-size: 16px;
  transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .btn--stroke:hover, .nf-field .nf-field-element input[type=button]:hover, .nf-field .nf-field-element input[type=submit]:hover {
    text-decoration: none;
    background-color: #ff0000;
    color: #ffffff; }

.form:before, .form:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.form:after {
  clear: both; }

input::-ms-clear {
  display: none; }

select::-ms-expand {
  display: none; }

.field--select {
  position: relative; }

.field--half, .field--half--end {
  width: calc( (100% - 30px) / 2);
  margin-right: 30px;
  float: left; }
  @media screen and (max-width: 750px) {
    .field--half, .field--half--end {
      float: none;
      margin-right: auto;
      margin-bottom: 10px;
      width: auto; } }
  .field--half--end {
    margin-right: 0; }

body.mobile .field--select, body.mobile .list-select-wrap .nf-field-element, body.tablet .field--select, body.tablet .list-select-wrap .nf-field-element {
  position: relative; }
  body.mobile .field--select:before, body.mobile .list-select-wrap .nf-field-element:before, body.tablet .field--select:before, body.tablet .list-select-wrap .nf-field-element:before {
    transform: translate(0, -50%);
    transition: transform 0.2s ease-out;
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 4px;
    color: #ff0000;
    pointer-events: none; }
  body.mobile .field--select select, body.mobile .list-select-wrap .nf-field-element select, body.tablet .field--select select, body.tablet .list-select-wrap .nf-field-element select {
    box-sizing: border-box;
    display: block;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    border: 0;
    border-radius: 0;
    width: 100%;
    line-height: 1;
    font-size: 14px;
    padding: 18px 20px;
    padding-right: 2em; }

/*
 *
 * NINJA FORMS
 *
 */
.submit-wrap {
  text-align: center; }

.nf-form-fields-required {
  display: none; }

.nf-field .field-wrap {
  position: relative; }

.nf-field .nf-field-element input, .nf-field .nf-field-element select, .nf-field .nf-field-element textarea {
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  border: 1px solid rgba(179, 180, 185, 0.5);
  height: 60px;
  padding-left: 1.5em;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px; }

.nf-field .nf-field-element textarea {
  display: block;
  padding: 1.5em;
  resize: vertical;
  height: 10em;
  transition: height 0.2s cubic-bezier(0.175, 0.885, 0.32, 1);
  text-transform: none; }

.nf-field .submit-wrap {
  text-align: left;
  display: block; }
  .nf-field .submit-wrap .nf-field-element {
    display: inline-block;
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 0;
    margin-top: 0; }

.nf-field .nf-field-element input[type=button], .nf-field .nf-field-element input[type=submit] {
  cursor: pointer;
  z-index: 10;
  text-transform: none; }

.nf-field .nf-field-label {
  margin-left: 10px;
  margin-bottom: 10px;
  z-index: 10; }
  .nf-field .nf-field-label label {
    display: inline-block;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
    color: #1b1f2e;
    background-color: transparent;
    transition: background-color 0.2s cubic-bezier(0.175, 0.885, 0.32, 1), font-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1); }
  .label-above .nf-field .nf-field-label {
    margin-bottom: 0; }

.textarea-container .nf-field .nf-field-label {
  top: 30px; }

.nf-field .file_upload-wrap .nf-field-label {
  margin-bottom: 0.5em; }

.nf-field.focus_in .nf-field-label, .nf-field .list-select-wrap .nf-field-label, .nf-field .listcountry-wrap .nf-field-label {
  top: 0; }
  .nf-field.focus_in .nf-field-label label, .nf-field .list-select-wrap .nf-field-label label, .nf-field .listcountry-wrap .nf-field-label label {
    background-color: #ffffff;
    padding: 2px 5px;
    font-size: 10px; }

label .ninja-forms-req-symbol {
  color: #ff0000; }

.nf-error .nf-field-element {
  border: 1px solid #ff0000; }

.nf-error select.ninja-forms-field, .nf-error .dk-select.ninja-forms-field {
  border: none; }

.nf-form-errors {
  text-align: center; }

.nf-after-field {
  display: none; }

nf-errors .nf-error-msg {
  position: relative;
  animation: swing_show 0.8s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background-color: #ff0000;
  color: #ffffff;
  padding: 10px; }

.nf-response-msg {
  position: relative;
  text-align: center;
  font-size: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  animation: up_show 0.2s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .nf-response-msg:before {
    color: #3F9C35;
    font-size: 32px;
    text-align: center;
    line-height: 1;
    display: block;
    margin-bottom: 15px; }

nf-field .nf-field-container {
  margin-bottom: 10px !important; }

nf-field .nf-field-container.space-after {
  margin-bottom: 30px !important; }

.nf-field-container.half-field {
  width: calc( (100% - 20px) / 2);
  margin-right: 20px;
  float: left;
  clear: none; }
  @media screen and (max-width: 750px) {
    .nf-field-container.half-field {
      float: none;
      margin-right: auto;
      width: auto; } }
  .nf-field-container.half-field-end {
    margin-right: 0; }

.form_container {
  box-sizing: border-box; }
  .form_container .nf-form-cont .one-third, .form_container .nf-form-cont .two-sixths {
    width: 100%;
    margin-left: 0; }

.nf-form-cont .nf-form-layout form .nf-form-content .nf-field-container.file_upload-container button {
  display: block;
  background: #1b1f2e;
  line-height: 32px;
  height: 32px;
  padding: 0px 15px;
  color: #ffffff;
  font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
  font-size: 12px; }

.nf-form-cont .nf-form-layout form .nf-form-content .nf-field-container .nf-error .nf-field-element .ninja-forms-field {
  border-color: #ffffff !important; }

.nf-form-cont .nf-form-layout form .nf-form-content .nf-field-container.file_upload-container input {
  display: none !important; }

.nf-form-cont .nf-form-layout form .nf-form-content .nf-field-container.file_upload-container button[type="reset"] {
  display: none !important; }

.nf-form-cont .nf-fu-progress {
  height: 3px;
  margin-top: 10px;
  margin-bottom: 10px;
  background: transparent;
  border-radius: 0;
  box-shadow: none; }

.nf-form-cont .nf-fu-progress-bar {
  background-color: #1b1f2e; }

.files_uploaded .delete {
  color: #1b1f2e;
  text-decoration: underline; }

.files_uploaded p {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.nf-form-content .file_upload-wrap .nf-field-label {
  margin-left: 0;
  display: block; }
  .nf-form-content .file_upload-wrap .nf-field-label label {
    font-size: 18px;
    line-height: 1.1;
    text-transform: none; }

.nf-field .checkbox-wrap .nf-field-label label {
  text-transform: none; }
  .nf-field .checkbox-wrap .nf-field-label label:before {
    font-size: 14px;
    top: -1px;
    left: -26px; }

.nf-form-content .nf-error.field-wrap .nf-field-element:after {
  width: 20px; }

.lightbox {
  display: none;
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden; }
  .lightbox__overlay {
    background-color: #000000;
    opacity: 0.6;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none; }
    .lightbox__overlay__inside {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: -1; }
  .lightbox__container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .lightbox__container__scroll {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      overflow-y: auto;
      overflow-y: overlay;
      -webkit-overflow-scrolling: touch; }
  .lightbox__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .lightbox__content:before, .lightbox__content:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .lightbox__content:after {
      clear: both; }
  .lightbox .btn--close {
    position: absolute;
    z-index: 100; }
  .lightbox .wysiwyg.lightbox__content__text__leader {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.3px;
    margin-bottom: 30px; }

.lightbox--video .lightbox__container {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-color: #000000;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  height: auto;
  width: calc( 100% - 30px);
  max-width: 1200px; }
  .lightbox--video .lightbox__container:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 56.25%; }
  .lightbox--video .lightbox__container__scroll {
    overflow: hidden; }

.lightbox--video #player {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }

.lightbox--video .btn--close {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  transform: translate(50%, -50%); }

.lightbox--about_group .lightbox__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.lightbox--about_group .lightbox__content {
  position: relative;
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-color: #ffffff;
  margin: auto;
  width: calc( 100% - 30px);
  max-width: 1200px; }
  .lightbox--about_group .lightbox__content:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 63.91667%; }
  .lightbox--about_group .lightbox__content__inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto; }
  @media screen and (max-height: 800px) {
    .lightbox--about_group .lightbox__content {
      max-width: 1000px; } }
  @media screen and (max-height: 700px) {
    .lightbox--about_group .lightbox__content {
      max-width: 800px; } }
  @media screen and (max-height: 550px) {
    .lightbox--about_group .lightbox__content {
      max-width: 600px; } }
  @media screen and (max-height: 420px) {
    .lightbox--about_group .lightbox__content {
      max-width: 450px; } }
  .lightbox--about_group .lightbox__content .main_link, .lightbox--about_group .lightbox__content .error404 .error404__link, .error404 .lightbox--about_group .lightbox__content .error404__link {
    position: absolute;
    z-index: 10;
    bottom: 30px; }
    .lightbox--about_group .lightbox__content .main_link--b_left {
      left: 30px; }
    .lightbox--about_group .lightbox__content .main_link--b_right {
      right: 30px; }

.lightbox--about_group img {
  width: 100%;
  height: auto; }

.lightbox--about_group .btn--close {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  transform: translate(50%, -50%); }

.lightbox--ov_gallery .lightbox__container {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: calc( 100% - 30px);
  max-width: 1200px; }
  .lightbox--ov_gallery .lightbox__container:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 64.16667%; }
  @media screen and (max-height: 800px) {
    .lightbox--ov_gallery .lightbox__container {
      max-width: 1000px; } }
  @media screen and (max-height: 700px) {
    .lightbox--ov_gallery .lightbox__container {
      max-width: 800px; } }
  @media screen and (max-height: 550px) {
    .lightbox--ov_gallery .lightbox__container {
      max-width: 500px; } }
  @media screen and (max-height: 400px) {
    .lightbox--ov_gallery .lightbox__container {
      max-width: 400px; } }

.lightbox--ov_gallery .lightbox__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 10px; }

.lightbox--ov_gallery img {
  display: block;
  width: auto;
  height: 100%;
  margin: auto; }

.lightbox--ov_gallery .btn--close {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  transform: translate(50%, -50%); }

.lightbox--accessibility .lightbox__container {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  height: auto;
  width: calc( 100% - 30px);
  max-width: 800px; }
  .lightbox--accessibility .lightbox__container:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 56.25%; }

.lightbox--accessibility .lightbox__content {
  padding: 30px; }

.lightbox--accessibility .lightbox__title {
  display: block;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 30px; }

.lightbox--accessibility .btn--close {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  transform: translate(50%, -50%); }

.lightbox--load_popup .lightbox__container {
  inset: 0;
  width: calc( 100% - 40px);
  max-width: 700px;
  margin: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  @media screen and (max-height: 450px) {
    .lightbox--load_popup .lightbox__container {
      max-width: 540px; } }
  @media screen and (max-height: 750px) {
    .lightbox--load_popup .lightbox__container--square {
      max-width: 600px; } }
  @media screen and (max-height: 650px) {
    .lightbox--load_popup .lightbox__container--square {
      max-width: 500px; } }
  @media screen and (max-height: 550px) {
    .lightbox--load_popup .lightbox__container--square {
      max-width: 400px; } }
  @media screen and (max-height: 450px) {
    .lightbox--load_popup .lightbox__container--square {
      max-width: 270px; } }
  .lightbox--load_popup .lightbox__container__scroll {
    position: static; }

.lightbox--load_popup .lightbox__image {
  width: 100%;
  height: auto; }
  .lightbox--load_popup .lightbox__image--square {
    object-fit: cover; }

.lightbox--load_popup .lightbox__content {
  width: 100%;
  position: relative;
  background-color: #ffffff; }

.lightbox--load_popup .btn--close {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  box-shadow: -3px 3px 3px rgba(19, 22, 37, 0.1); }

.dk-select,
.dk-select *,
.dk-select *:before,
.dk-select *:after,
.dk-select-multi,
.dk-select-multi *,
.dk-select-multi *:before,
.dk-select-multi *:after {
  box-sizing: border-box; }

.dk-select,
.dk-select-multi {
  line-height: 1;
  position: relative;
  display: inline-block;
  width: 100%;
  cursor: pointer;
  vertical-align: middle; }

.dk-select {
  margin-bottom: 20px; }

.dk-selected {
  font-size: 16px;
  line-height: 1;
  height: 100%;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-left: 20px;
  padding-right: 40px;
  color: #b3b4b9;
  background-color: #ffffff; }
  .dk-selected:before {
    transform: translate(0, -50%);
    transition: transform 0.2s ease-out;
    top: 50%;
    right: 20px;
    font-size: 4px;
    color: #b3b4b9; }

.dk-selected:before,
.dk-selected:after {
  position: absolute;
  right: 0;
  display: block; }

.dk-selected:before {
  transform: translate(0, -50%);
  transition: transform 0.2s ease-out;
  top: 50%;
  right: 20px; }

.dk-select-open-down .dk-selected:before {
  transform: translate(0, -50%) rotate(180deg);
  color: #ffffff; }

.dk-selected-disabled {
  color: #bbbbbb; }

.dk-select .dk-select-options {
  position: absolute;
  right: 0;
  left: 0;
  display: none;
  padding: 0; }

.dk-select-open-up .dk-select-options {
  bottom: 100%;
  margin-bottom: -1px; }

.dk-select-open-down .dk-select-options {
  top: calc( 100% + 2px);
  margin-top: 0; }

.dk-select-multi .dk-select-options {
  max-height: 10em; }

.dk-select-options {
  font-size: 14px;
  z-index: 100;
  overflow-x: hidden;
  overflow-y: auto;
  width: auto;
  min-width: 100%;
  max-height: 300px;
  margin: 0;
  margin-left: -2px;
  margin-right: -2px;
  list-style: none;
  border-top: 0px solid transparent;
  background-color: #ffffff; }
  .dk-select-open-up .dk-select-options {
    box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.3);
    border-bottom: 1px solid #b3b4b9; }
  .dk-select-open-down .dk-select-options {
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
    border-top: 1px solid #b3b4b9; }

.dk-option-selected {
  color: #ffffff;
  background-color: #b3b4b9; }

.dk-select-options-highlight .dk-option-selected {
  color: inherit;
  background-color: transparent; }

.dk-option {
  padding: 0 20px;
  padding-top: 1em;
  padding-bottom: 1em;
  line-height: 1.5; }

.dk-select-options .dk-option-highlight {
  color: #ffffff;
  background-color: #b3b4b9; }

.dk-select-options .dk-option-disabled {
  color: #bbbbbb;
  background-color: transparent; }

.dk-optgroup {
  margin-top: .25em;
  padding: .25em 0;
  border: solid #cccccc;
  border-width: 1px 0; }

.dk-optgroup + .dk-option {
  margin-top: .25em; }

.dk-optgroup + .dk-optgroup {
  margin-top: 0;
  border-top-width: 0; }

.dk-optgroup:nth-child(2) {
  margin-top: 0;
  padding-top: 0;
  border-top: none; }

.dk-optgroup:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom-width: 0; }

.dk-optgroup-label {
  font-size: 16px;
  font-weight: bold;
  display: block;
  width: 100%;
  padding: 0 20px 10px; }

.dk-optgroup-options {
  padding-left: 0;
  list-style: none; }

.dk-optgroup-options li {
  padding-left: 1.2em; }

.dk-select-open-up .dk-selected {
  border-color: #b3b4b9;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.dk-select-open-down .dk-selected {
  box-sizing: border-box; }

.dk-select-open-up .dk-selected:before,
.dk-select-open-down .dk-selected:before {
  border-width: 0 .25em .25em;
  border-bottom-color: #b3b4b9; }

.dk-select-open-up .dk-selected:after,
.dk-select-open-down .dk-selected:after {
  border-left-color: #b3b4b9; }

.dk-select-open-up .dk-select-options,
.dk-select-open-down .dk-select-options,
.dk-select-multi:focus .dk-select-options {
  display: block;
  border-color: #b3b4b9; }

.dk-select-multi:hover,
.dk-select-multi:focus {
  outline: none; }

.dk-selected:hover,
.dk-selected:focus {
  border-color: #b3b4b9;
  outline: none; }

.dk-selected:hover:before,
.dk-selected:focus:before {
  border-top-color: #b3b4b9; }

.dk-selected:hover:after,
.dk-selected:focus:after {
  border-left-color: #b3b4b9; }

.dk-select-disabled {
  cursor: not-allowed;
  opacity: .6;
  color: #bbbbbb; }

.dk-select-disabled .dk-selected:hover,
.dk-select-disabled .dk-selected:focus {
  border-color: inherit; }

.dk-select-disabled .dk-selected:hover:before,
.dk-select-disabled .dk-selected:focus:before {
  border-top-color: inherit; }

.dk-select-disabled .dk-selected:hover:after,
.dk-select-disabled .dk-selected:focus:after {
  border-left-color: inherit; }

select[data-dkcacheid] {
  display: none; }

/**
 * HTML
 */
html,
body {
  height: 100%; }

/**
 * Body
 */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1.5625;
  font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
  font-weight: normal;
  color: #000000;
  margin-bottom: 0em;
  margin: 0; }
  body .center, body .center--small, body .page__default > .center, body .page__single_realisations .realisations__electric_setup__listing.one_col, .page__single_realisations body .realisations__electric_setup__listing.one_col, body .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item body a {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto; }
    body .center:after, body .center--small:after, body .page__default > .center:after, body .page__single_realisations .realisations__electric_setup__listing.one_col:after, .page__single_realisations body .realisations__electric_setup__listing.one_col:after, body .mobile_menu .menu .menu-item a:after, .mobile_menu .menu .menu-item body a:after {
      content: " ";
      display: block;
      clear: both; }
    body .center:before, body .center--small:before, body .page__default > .center:before, body .page__single_realisations .realisations__electric_setup__listing.one_col:before, .page__single_realisations body .realisations__electric_setup__listing.one_col:before, body .mobile_menu .menu .menu-item a:before, .mobile_menu .menu .menu-item body a:before, body .center:after, body .center--small:after, body .page__default > .center:after, body .page__single_realisations .realisations__electric_setup__listing.one_col:after, .page__single_realisations body .realisations__electric_setup__listing.one_col:after, body .mobile_menu .menu .menu-item a:after, .mobile_menu .menu .menu-item body a:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    body .center:after, body .center--small:after, body .page__default > .center:after, body .page__single_realisations .realisations__electric_setup__listing.one_col:after, .page__single_realisations body .realisations__electric_setup__listing.one_col:after, body .mobile_menu .menu .menu-item a:after, .mobile_menu .menu .menu-item body a:after {
      clear: both; }
    @media screen and (max-width: 1500px) {
      body .center, body .center--small, body .page__default > .center, body .page__single_realisations .realisations__electric_setup__listing.one_col, .page__single_realisations body .realisations__electric_setup__listing.one_col, body .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item body a {
        padding-left: 30px;
        padding-right: 30px;
        max-width: none; } }
    @media screen and (max-width: 500px) {
      body .center, body .center--small, body .page__default > .center, body .page__single_realisations .realisations__electric_setup__listing.one_col, .page__single_realisations body .realisations__electric_setup__listing.one_col, body .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item body a {
        padding-left: 1em;
        padding-right: 1em; } }
    body .center--small, body .page__default > .center, body .page__default > .center--small, body .mobile_menu .menu .menu-item .page__default > a, .mobile_menu .menu .menu-item body .page__default > a, body .page__single_realisations .realisations__electric_setup__listing.one_col, .page__single_realisations body .realisations__electric_setup__listing.one_col {
      max-width: 960px; }
    body .center--maxi {
      max-width: 1800px;
      margin-left: auto;
      margin-right: auto;
      position: relative; }

/**
 *  Container & Content
 */
#container {
  min-height: 100vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }

.content {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding-top: 120px; }

/**
 * Link
 */
a {
  text-decoration: none;
  color: #ff0000; }
  a:hover {
    text-decoration: underline; }

.main_link, .error404 .error404__link {
  color: #ff0000;
  padding-left: 35px;
  position: relative;
  font-family: "Avenir LT Std";
  font-size: 1em;
  line-height: 1.5625;
  font-weight: bold;
  display: inline-block;
  transition: padding 0.15s ease-out; }
  .main_link:hover, .error404 .error404__link:hover, .main_link:focus, .error404 .error404__link:focus,
  a:hover .main_link,
  a:hover .error404 .error404__link, .error404
  a:hover .error404__link,
  a:focus .main_link,
  a:focus .error404 .error404__link, .error404
  a:focus .error404__link {
    text-decoration: none;
    padding-left: 45px; }
    .main_link:hover:before, .error404 .error404__link:hover:before, .main_link:focus:before, .error404 .error404__link:focus:before,
    a:hover .main_link:before,
    a:hover .error404 .error404__link:before, .error404
    a:hover .error404__link:before,
    a:focus .main_link:before,
    a:focus .error404 .error404__link:before, .error404
    a:focus .error404__link:before {
      width: 30px; }
  .main_link:before, .error404 .error404__link:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    height: 6px;
    width: 20px;
    background-color: #ff0000;
    margin-top: -3px;
    transition: width 0.15s ease-out; }

/**
 * Images
 */
img {
  display: block; }

figure {
  margin: 0;
  padding: 0; }

/**
 * Paragraph
 */
p {
  margin-top: 0;
  margin-bottom: 0; }

@media screen and (max-width: 400px) {
  .hyphenate-mobile, .heading__title, .heading__text, .page__home .heading .slide__title, .page__home .heading .slide__content {
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto; } }

/**
 * Title
 */
h1 {
  font-size: 3.5em;
  line-height: 1.25;
  font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
  font-weight: normal;
  color: #8F8F8F;
  margin-bottom: 0em;
  font-weight: 700;
  position: relative; }

h2 {
  margin: 0; }

li {
  line-height: 1; }

/**
 * Icon
 */
.icon, .breadcrumb a, .wysiwyg blockquote, .square__button--prev, .block__textslider__slider .arrow--left, .square__button--next, .block__textslider__slider .arrow--right, body.mobile .field--select, body.mobile .list-select-wrap .nf-field-element, body.tablet .field--select, body.tablet .list-select-wrap .nf-field-element, .nf-response-msg, .dk-selected, .tabs__arrow, .pagination .prev, .pagination .next, .citation__text {
  display: inline-block; }

.icon:before, .breadcrumb a:before, .wysiwyg blockquote:before, .square__button--prev:before, .block__textslider__slider .arrow--left:before, .square__button--next:before, .block__textslider__slider .arrow--right:before, body.mobile .field--select:before, body.mobile .list-select-wrap .nf-field-element:before, body.tablet .field--select:before, body.tablet .list-select-wrap .nf-field-element:before, .nf-response-msg:before, .dk-selected:before, .tabs__arrow:before, .pagination .prev:before, .pagination .next:before, .citation__text:before {
  vertical-align: top; }

/**
 * Lists
 */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
 * Video
 */
video {
  display: block; }

*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none; }

*::-webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none; }

*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none; }

.hidden {
  position: absolute;
  left: -999999px;
  width: 0;
  height: 0;
  overflow: hidden; }

::-moz-selection {
  background-color: #ff0000;
  color: #ffffff; }

::selection {
  background-color: #ff0000;
  color: #ffffff; }

::-moz-selection {
  background-color: #ff0000;
  color: #ffffff; }

/**
 * Hgroup
 */
.hgroup {
  position: relative; }
  .hgroup__title,
  .hgroup__title p {
    font-weight: bold;
    font-size: 1.375em;
    line-height: 1.2; }
    .hgroup__title strong,
    .hgroup__title b,
    .hgroup__title p strong,
    .hgroup__title p b {
      display: block;
      font-size: 1.5909em; }
  .hgroup__subtitle {
    margin-top: 0;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.875em;
    font-weight: 900;
    color: #6d6e71; }
  .hgroup__link {
    display: block; }
    .hgroup__link--right {
      position: absolute;
      right: 0;
      bottom: 0; }
      @media only screen and (max-width: 970px) {
        .hgroup__link--right {
          position: relative; } }
  .hgroup__content {
    width: 48.57143%;
    float: right;
    margin-right: 0; }
    @media only screen and (max-width: 970px) {
      .hgroup__content {
        width: 100%;
        float: left;
        margin-left: 0;
        margin-right: 0;
        clear: both; } }
  @media only screen and (max-width: 970px) {
    .hgroup--has-content .hgroup__wrapper {
      width: 100%;
      float: left;
      margin-left: 0;
      margin-right: 0;
      clear: both; } }

/**
 * Slider arrows
 */
.slider__arrows:before, .slider__arrows:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.slider__arrows:after {
  clear: both; }

.slider__arrows li {
  float: left; }

.slider__arrows .left {
  margin-right: 10px; }

/**
 * Locations
 */
.slider-location {
  position: relative; }
  .slider-location:before, .slider-location:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .slider-location:after {
    clear: both; }
  .slider-location__map {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: calc(50% + ((1440px * 10) / 100) + 80px);
    min-height: 500px;
    background-color: #b3b4b9; }
    @media screen and (max-width: 1500px) {
      .slider-location__map {
        right: calc(50% - ((1440px * 5) / 100) + 80px); } }
    @media screen and (max-width: 900px) {
      .slider-location__map {
        position: relative;
        right: 0; } }
  .slider-location .slider-location__content {
    width: 60%;
    float: right; }
    @media screen and (max-width: 1500px) {
      .slider-location .slider-location__content {
        width: 45%; } }
    @media screen and (max-width: 900px) {
      .slider-location .slider-location__content {
        width: auto;
        float: none; } }
  .slider-location__slides {
    position: relative;
    margin-bottom: 80px; }
    @media screen and (max-width: 900px) {
      .slider-location__slides {
        margin-bottom: auto;
        width: calc(100% - 80px); } }
  .slider-location__slide {
    box-sizing: border-box; }
    @media screen and (max-width: 900px) {
      .slider-location__slide {
        position: absolute;
        top: 0; } }
  .slider-location__navigation {
    position: relative;
    z-index: 100;
    margin: 0;
    padding: 0;
    padding-bottom: 40px;
    display: none; }
    .slider-location__navigation:before, .slider-location__navigation:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .slider-location__navigation:after {
      clear: both; }
    @media screen and (max-width: 900px) {
      .slider-location__navigation {
        display: block; } }
    .slider-location__navigation li {
      list-style: none;
      float: left; }
      .slider-location__navigation li:first-child {
        margin-right: 10px; }

/**
 * Listing activities
 */
.listing-activities,
.listing-sectors,
.listing-realisations {
  margin: 0;
  padding: 0; }
  .listing-activities:before, .listing-activities:after,
  .listing-sectors:before,
  .listing-sectors:after,
  .listing-realisations:before,
  .listing-realisations:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .listing-activities:after,
  .listing-sectors:after,
  .listing-realisations:after {
    clear: both; }
  .listing-activities li,
  .listing-sectors li,
  .listing-realisations li {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    margin-bottom: 2.85714%;
    list-style: none;
    background: #b3b4b9; }
    .listing-activities li:before,
    .listing-sectors li:before,
    .listing-realisations li:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 100%; }
    @media only screen and (min-width: 600px) {
      .listing-activities li,
      .listing-sectors li,
      .listing-realisations li {
        width: 48.57143%;
        float: left; }
        .listing-activities li:nth-child(2n + 1),
        .listing-sectors li:nth-child(2n + 1),
        .listing-realisations li:nth-child(2n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .listing-activities li:nth-child(2n + 2),
        .listing-sectors li:nth-child(2n + 2),
        .listing-realisations li:nth-child(2n + 2) {
          margin-left: 51.42857%;
          margin-right: -100%;
          clear: none; } }
    @media only screen and (min-width: 970px) {
      .listing-activities li,
      .listing-sectors li,
      .listing-realisations li {
        width: 31.42857%;
        float: left; }
        .listing-activities li:nth-child(3n + 1),
        .listing-sectors li:nth-child(3n + 1),
        .listing-realisations li:nth-child(3n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .listing-activities li:nth-child(3n + 2),
        .listing-sectors li:nth-child(3n + 2),
        .listing-realisations li:nth-child(3n + 2) {
          margin-left: 34.28571%;
          margin-right: -100%;
          clear: none; }
        .listing-activities li:nth-child(3n + 3),
        .listing-sectors li:nth-child(3n + 3),
        .listing-realisations li:nth-child(3n + 3) {
          margin-left: 68.57143%;
          margin-right: -100%;
          clear: none; } }
    .listing-activities li a,
    .listing-sectors li a,
    .listing-realisations li a {
      position: absolute;
      top: 0;
      display: block;
      width: 100%;
      height: 100%; }

/**
 * Loader
 */
.loader {
  display: none;
  margin: auto;
  width: 50px;
  height: 50px; }
  .loader svg {
    width: 100%;
    height: 100%; }
    .loader svg rect {
      border-radius: 7px; }

.loading__container {
  position: relative; }

.loading__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.4);
  display: none; }
  .loading__content.active {
    display: block; }
  .loading__content svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px; }

.tabs {
  position: relative;
  display: -ms-flexbox;
  display: flex; }
  .tabs:after {
    content: '';
    width: 30px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    visibility: hidden;
    pointer-events: none;
    background-image: linear-gradient(90deg, rgba(179, 180, 185, 0), rgba(179, 180, 185, 0.8)); }
  .tabs__list {
    -ms-flex: 1;
        flex: 1;
    width: 100%; }
  .tabs__list__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .tabs__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    margin-right: 15px; }
    .tabs__item:last-child {
      margin-right: auto; }
    .tabs__item.active .tabs__link {
      border: 2px solid #ff0000;
      color: #ff0000; }
  .tabs__link {
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: relative;
    background-color: transparent;
    border: 2px solid #b3b4b9;
    color: #b3b4b9;
    padding: 15px 20px;
    font-weight: 700;
    font-size: 16px;
    transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), border 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .tabs__link:hover {
      text-decoration: none;
      border: 2px solid #1b1f2e;
      color: #1b1f2e; }
  .tabs__arrows {
    width: 50px;
    margin-left: 10px;
    height: 52px;
    display: -ms-flexbox;
    display: flex;
    visibility: hidden; }
    .tabs__arrows.is-visible {
      visibility: visible; }
  .tabs__arrow {
    width: calc(100% - 2px);
    height: 100%;
    margin-right: 2px;
    background-color: #b3b4b9;
    color: #ff0000;
    transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .tabs__arrow:first-child:before {
      display: block;
      transform: rotate(180deg); }
    .tabs__arrow:last-child {
      margin-right: 0; }
    .tabs__arrow:hover {
      background-color: #ff0000;
      color: #ff0000; }
    .tabs__arrow:disabled {
      pointer-events: none;
      opacity: 0.5;
      cursor: default; }
      .tabs__arrow:disabled:hover {
        background-color: #b3b4b9;
        color: #ff0000; }
  .tabs--witharrows .tabs__list {
    width: calc(100% - 60px); }
  .tabs--witharrows .tabs__list__inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    .tabs--witharrows .tabs__list__inner::-webkit-scrollbar {
      display: none; }
  .tabs__part {
    display: none; }
    .tabs__part.active {
      display: block; }

/**
 * Message (error - success)
 */
.message--error {
  color: #ff0000;
  text-align: center; }

/**
 * Blocks
 * -> gutter = 100px
 */
.noo_block--50:before, .noo_block--50:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.noo_block--50:after {
  clear: both; }

@media screen and (min-width: 1201px) {
  .noo_block--50 .noo_block__part {
    width: calc((100% - 100px) / 2);
    float: left; }
    .noo_block--50 .noo_block__part:first-child {
      margin-right: 100px; } }

@media screen and (max-width: 1350px) and (min-width: 1201px) {
  .noo_block--50 .noo_block__part {
    width: calc((100% - 50px) / 2); }
    .noo_block--50 .noo_block__part:first-child {
      margin-right: 50px; } }

@media screen and (min-width: 1201px) {
  .noo_block--50--reverse.flex {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; } }

@media screen and (min-width: 1201px) {
  .noo_block--50--reverse .noo_block__part {
    width: calc((100% - 100px) / 2);
    float: right; }
    .noo_block--50--reverse .noo_block__part:first-child {
      margin-right: auto;
      margin-left: 100px; } }

@media screen and (max-width: 1350px) and (min-width: 1201px) {
  .noo_block--50--reverse .noo_block__part {
    width: calc((100% - 50px) / 2); }
    .noo_block--50--reverse .noo_block__part:first-child {
      margin-right: auto;
      margin-left: 50px; } }

@media screen and (min-width: 1201px) {
  .noo_block--50.flex, .noo_block--50--reverse.flex {
    display: -ms-flexbox;
    display: flex; }
    .noo_block--50.flex:before, .noo_block--50.flex:after, .noo_block--50--reverse.flex:before, .noo_block--50--reverse.flex:after {
      display: none; } }

.noo_block--50 .noo_block__part, .noo_block--50--reverse .noo_block__part {
  margin: auto; }

.noo_block--50 .noo_block__part__imgs, .noo_block--50--reverse .noo_block__part__imgs {
  position: relative;
  margin-bottom: 50px; }
  @media screen and (max-width: 1200px) {
    .noo_block--50 .noo_block__part__imgs, .noo_block--50--reverse .noo_block__part__imgs {
      max-width: 500px; } }

.noo_block--50 .noo_block__part--img,
.noo_block--50 .noo_block__part--img--small, .noo_block--50--reverse .noo_block__part--img,
.noo_block--50--reverse .noo_block__part--img--small {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  .noo_block--50 .noo_block__part--img:before,
  .noo_block--50 .noo_block__part--img--small:before, .noo_block--50--reverse .noo_block__part--img:before,
  .noo_block--50--reverse .noo_block__part--img--small:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 70.76923%; }

.noo_block--50 .noo_block__part--img--small, .noo_block--50--reverse .noo_block__part--img--small {
  width: 320px;
  position: relative;
  top: -70px;
  margin-bottom: -70px;
  left: 100px;
  z-index: 10; }
  @media screen and (max-width: 1200px) {
    .noo_block--50 .noo_block__part--img--small, .noo_block--50--reverse .noo_block__part--img--small {
      left: 50px; } }
  @media screen and (max-width: 500px) {
    .noo_block--50 .noo_block__part--img--small, .noo_block--50--reverse .noo_block__part--img--small {
      width: 70%;
      left: 30px; } }

.block__keyfigures__listing {
  margin-bottom: -50px; }

.block__keyfigures__item {
  margin-bottom: 50px; }
  .block__keyfigures__item .icon, .block__keyfigures__item .breadcrumb a, .breadcrumb .block__keyfigures__item a, .block__keyfigures__item .wysiwyg blockquote, .wysiwyg .block__keyfigures__item blockquote, .block__keyfigures__item .square__button--prev, .block__keyfigures__item .block__textslider__slider .arrow--left, .block__textslider__slider .block__keyfigures__item .arrow--left, .block__keyfigures__item .square__button--next, .block__keyfigures__item .block__textslider__slider .arrow--right, .block__textslider__slider .block__keyfigures__item .arrow--right, .block__keyfigures__item body.mobile .field--select, body.mobile .block__keyfigures__item .field--select, .block__keyfigures__item body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .block__keyfigures__item .nf-field-element, .block__keyfigures__item body.tablet .field--select, body.tablet .block__keyfigures__item .field--select, .block__keyfigures__item body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .block__keyfigures__item .nf-field-element, .block__keyfigures__item .nf-response-msg, .block__keyfigures__item .dk-selected, .block__keyfigures__item .tabs__arrow, .block__keyfigures__item .pagination .prev, .pagination .block__keyfigures__item .prev, .block__keyfigures__item .pagination .next, .pagination .block__keyfigures__item .next, .block__keyfigures__item .citation__text {
    display: block;
    margin-bottom: 10px; }
    .block__keyfigures__item .icon-clearness:before {
      font-size: 35px; }
    .block__keyfigures__item .icon:before, .block__keyfigures__item .breadcrumb a:before, .breadcrumb .block__keyfigures__item a:before, .block__keyfigures__item .wysiwyg blockquote:before, .wysiwyg .block__keyfigures__item blockquote:before, .block__keyfigures__item .square__button--prev:before, .block__keyfigures__item .block__textslider__slider .arrow--left:before, .block__textslider__slider .block__keyfigures__item .arrow--left:before, .block__keyfigures__item .square__button--next:before, .block__keyfigures__item .block__textslider__slider .arrow--right:before, .block__textslider__slider .block__keyfigures__item .arrow--right:before, .block__keyfigures__item body.mobile .field--select:before, body.mobile .block__keyfigures__item .field--select:before, .block__keyfigures__item body.mobile .list-select-wrap .nf-field-element:before, body.mobile .list-select-wrap .block__keyfigures__item .nf-field-element:before, .block__keyfigures__item body.tablet .field--select:before, body.tablet .block__keyfigures__item .field--select:before, .block__keyfigures__item body.tablet .list-select-wrap .nf-field-element:before, body.tablet .list-select-wrap .block__keyfigures__item .nf-field-element:before, .block__keyfigures__item .nf-response-msg:before, .block__keyfigures__item .dk-selected:before, .block__keyfigures__item .tabs__arrow:before, .block__keyfigures__item .pagination .prev:before, .pagination .block__keyfigures__item .prev:before, .block__keyfigures__item .pagination .next:before, .pagination .block__keyfigures__item .next:before, .block__keyfigures__item .citation__text:before {
      font-size: 30px;
      display: block;
      margin-bottom: 20px;
      color: #ff0000; }
  .block__keyfigures__item .value {
    display: block;
    font-size: 30px;
    margin-bottom: 5px; }
  .block__keyfigures__item .label {
    display: block;
    margin: auto;
    color: #6d6e71;
    max-width: 200px; }
  .block__keyfigures__item .wysiwyg {
    display: block;
    color: #6d6e71; }

@media screen and (min-width: 650px) {
  .block__keyfigures__listing[data-rownumber='2'] {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media screen and (min-width: 650px) {
  .block__keyfigures__listing[data-rownumber='2'] .block__keyfigures__item {
    width: calc((100% - 50px) / 2);
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1; }
    .block__keyfigures__listing[data-rownumber='2'] .block__keyfigures__item:nth-child(2n) {
      margin-left: 50px; }
    .block__keyfigures__listing[data-rownumber='2'] .block__keyfigures__item:last-child {
      margin-right: auto; } }

@media screen and (min-width: 601px) {
  .block__keyfigures__listing[data-rownumber='3'] {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media screen and (min-width: 901px) {
  .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item {
    width: calc((100% - 100px) / 3);
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-right: 50px; }
    .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item:nth-child(3n) {
      margin-right: auto; }
    .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item:last-child {
      margin-right: auto; } }

@media screen and (max-width: 900px) and (min-width: 601px) {
  .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item {
    width: calc((100% - 50px) / 2);
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-right: 50px; }
    .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item:nth-child(2n) {
      margin-right: auto; }
    .block__keyfigures__listing[data-rownumber='3'] .block__keyfigures__item:last-child {
      margin-right: auto; } }

.block__map {
  padding-top: 100px;
  padding-bottom: 50px; }
  .block__map__map {
    height: 350px;
    background-color: #f3f3f3; }
    @media screen and (min-width: 1001px) {
      .block__map__map {
        width: 50%;
        float: left;
        height: 750px; } }
  .block__map__text {
    padding-top: 50px;
    box-sizing: border-box; }
    @media screen and (min-width: 1001px) {
      .block__map__text {
        padding-left: 50px;
        float: right;
        width: 50%; } }
    @media screen and (min-width: 1201px) {
      .block__map__text {
        padding-left: 100px; } }
    .block__map__text__title {
      margin-bottom: 50px; }
    .block__map__text__group {
      margin-bottom: 50px; }
      .block__map__text__group:last-child {
        margin-bottom: 0; }
    .block__map__text__group__title {
      margin-bottom: 20px;
      cursor: pointer; }
    .block__map__text__intro {
      font-size: 15px;
      position: relative;
      line-height: 1.6;
      margin-bottom: 20px; }
    .block__map__text__infos {
      margin-top: 20px;
      margin-bottom: 20px;
      list-style: none; }
      .block__map__text__infos__item {
        display: block;
        margin-bottom: 10px;
        font-size: 15px;
        padding-left: 25px;
        position: relative;
        line-height: 1.6; }
        .block__map__text__infos__item a {
          color: inherit;
          text-decoration: none;
          transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
          .block__map__text__infos__item a:hover, .block__map__text__infos__item a:focus {
            color: #ff0000; }
        .block__map__text__infos__item a,
        .block__map__text__infos__item span {
          white-space: nowrap; }
        .block__map__text__infos__item:before {
          position: absolute;
          left: 0;
          top: 0; }
        .block__map__text__infos__item.icon-email:before {
          font-size: 12px; }
    .block__map__text__links li {
      margin-bottom: 10px; }
  .block__map__text__group {
    transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .block__map__text__group.active {
      opacity: 1; }

.block__textslider {
  margin-top: 100px;
  margin-bottom: 100px;
  overflow: hidden; }
  .block__textslider .wysiwyg:not(:first-child) {
    margin-top: 30px; }
  @media screen and (min-width: 1201px) {
    .block__textslider__inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center; }
      .block__textslider__inner > * {
        width: calc((100% - 100px) / 2); } }
  @media screen and (max-width: 1350px) {
    .block__textslider__inner > * {
      width: calc((100% - 50px) / 2); } }
  .block__textslider__text {
    position: relative;
    z-index: 10;
    margin-right: 100px; }
    @media screen and (max-width: 1200px) {
      .block__textslider__text {
        width: 100%;
        max-width: 800px; } }
    @media screen and (max-width: 1350px) {
      .block__textslider__text {
        margin-right: 50px; } }
  .block__textslider__slider {
    position: relative; }
    @media screen and (max-width: 1200px) {
      .block__textslider__slider {
        width: 100%;
        max-width: 800px;
        margin-top: 50px; } }
    .block__textslider__slider:before {
      content: '';
      position: absolute;
      z-index: 1;
      top: 0;
      bottom: 0;
      background-color: #ffffff;
      right: 100%;
      left: -99999px; }
    .block__textslider__slider .slides {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .block__textslider__slider .slide {
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      background-color: #b3b4b9;
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      .block__textslider__slider .slide:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 50%; }
      .block__textslider__slider .slide:before {
        transition: padding 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .block__textslider__slider .slide.current {
        position: relative;
        /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
        .block__textslider__slider .slide.current:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 62.5%; }
    .block__textslider__slider .arrows {
      margin-top: 16px;
      display: -ms-flexbox;
      display: flex; }
    .block__textslider__slider .arrow[disabled] {
      opacity: 0.2;
      pointer-events: none; }
    .block__textslider__slider .arrow--left {
      margin-right: 14px; }

@media screen and (min-width: 1201px) {
  .block_imagetext {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .block_imagetext.reverse {
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
      .block_imagetext.reverse.no_image .block_imagetext__text {
        margin-right: 0; } }
  @media screen and (min-width: 1201px) and (min-width: 1351px) {
    .block_imagetext > * {
      width: calc((100% - 100px) / 2); } }
  @media screen and (min-width: 1201px) and (max-width: 1350px) and (min-width: 1201px) {
    .block_imagetext > * {
      width: calc((100% - 50px) / 2); } }

.block_imagetext__image {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-size: cover;
  background-position: center;
  background-color: #b3b4b9; }
  .block_imagetext__image:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 71.42857%; }
  @media screen and (min-width: 1351px) {
    .block_imagetext__image {
      margin-right: 100px; } }
  @media screen and (max-width: 1350px) and (min-width: 1201px) {
    .block_imagetext__image {
      margin-right: 50px; } }
  .block_imagetext.reverse .block_imagetext__image {
    margin-right: 0; }
  @media screen and (max-width: 1200px) {
    .block_imagetext__image {
      width: 100%;
      max-width: 600px; } }

@media screen and (min-width: 1351px) {
  .block_imagetext.reverse .block_imagetext__text {
    margin-right: 100px; } }

@media screen and (max-width: 1350px) and (min-width: 1201px) {
  .block_imagetext.reverse .block_imagetext__text {
    margin-right: 50px; } }

@media screen and (max-width: 1200px) {
  .block_imagetext__text {
    width: 100%;
    margin-top: 50px; } }

.block_imagetext__links {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 30px; }
  .block_imagetext__links li {
    margin-bottom: 10px; }
    .block_imagetext__links li:last-child {
      margin-bottom: 0; }

/**
 * Sliders
 */
.slider_multi {
  position: relative;
  width: calc((1440px) + (100% - 1440px) / 2);
  margin-bottom: 58px; }
  @media screen and (max-width: 1500px) {
    .slider_multi {
      width: 100%;
      box-sizing: border-box; } }
  .slider_multi__slides {
    position: relative;
    display: -ms-flexbox;
    display: flex; }
  .slider_multi__wrapper {
    overflow: hidden;
    padding-top: 1em;
    padding-bottom: 1em;
    margin-top: -1em;
    margin-bottom: -1em; }
  .slider_multi__content {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background-color: #b3b4b9; }
  .slider_multi__slide {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    box-sizing: border-box;
    width: calc((1440px - 60px) / 3);
    height: 430px;
    margin-right: 1.875rem; }
    .slider_multi__slide:last-child {
      margin-right: 0; }
    @media screen and (max-width: 500px) {
      .slider_multi__slide {
        height: 300px; } }
    .slider_multi__slide:last-child {
      margin-right: 0; }
    .slider_multi__slide--bg {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
    .slider_multi__slide .slider_multi__content__link:hover {
      box-shadow: 0 8px 12px #b3b4b9; }
      .slider_multi__slide .slider_multi__content__link:hover .slider_multi__slide__content {
        background-color: rgba(255, 0, 0, 0.7); }
        .slider_multi__slide .slider_multi__content__link:hover .slider_multi__slide__content .slider_multi__slide__short_desc {
          margin-top: -0.5em;
          margin-bottom: -0.5em; }
    .slider_multi__slide .slider_multi__content__link {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      transition: 0.2s ease-out;
      top: 0;
      display: block;
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      background: #b3b4b9;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      .slider_multi__slide .slider_multi__content__link:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 100%; }
      .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content {
        font-size: 18px;
        position: absolute;
        bottom: 0;
        height: 75px;
        line-height: 75px;
        overflow: hidden;
        box-sizing: border-box;
        color: #ffffff;
        background-color: #6d6e71;
        width: 100%;
        text-align: center;
        transition: background-color 0.2s ease-out, height 0.2s ease-out, opacity 0.2s ease-out; }
        .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__title {
          margin: 0;
          font-size: 16px;
          height: 75px;
          width: 100%;
          display: table;
          vertical-align: middle; }
          .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__title span {
            display: table-cell;
            vertical-align: middle;
            line-height: 1.2; }
        .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc {
          padding-left: 1em;
          padding-right: 1em;
          line-height: 1.2; }
          .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc p {
            font-size: 1em;
            margin: 0;
            line-height: 1.2; }
          .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .main_link, .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404 .error404__link, .error404 .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404__link {
            color: #ffffff;
            line-height: 75px; }
            .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .main_link:before, .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404 .error404__link:before, .error404 .slider_multi__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404__link:before {
              background-color: #ffffff; }
  .slider_multi__navigation {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 100;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 1500px) {
      .slider_multi__navigation {
        right: 30px; } }
    .slider_multi__navigation li {
      list-style: none;
      float: left; }
      .slider_multi__navigation li:first-child {
        margin-right: 10px; }

.slider_wide {
  position: relative;
  width: calc((1024px) + (100% - 1024px) / 2);
  margin-bottom: 58px; }
  @media screen and (max-width: 1084px) {
    .slider_wide {
      width: 100%;
      box-sizing: border-box; } }
  .slider_wide__slides {
    position: relative; }
    .slider_wide__slides:before, .slider_wide__slides:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .slider_wide__slides:after {
      clear: both; }
  .slider_wide__wrapper {
    overflow: hidden;
    padding-top: 1em;
    padding-bottom: 1em;
    margin-top: -1em;
    margin-bottom: -1em; }
  .slider_wide__content {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background-color: #b3b4b9; }
  .slider_wide__slide {
    float: left;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    box-sizing: border-box;
    width: 1024px;
    height: auto;
    margin-right: 1.875rem; }
    .slider_wide__slide:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 41.99219%; }
    .slider_wide__slide:last-child {
      margin-right: 0; }
    .slider_wide__slide--bg {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
    .slider_wide__slide .slider_multi__content__link:hover {
      box-shadow: 0 8px 12px #b3b4b9; }
      .slider_wide__slide .slider_multi__content__link:hover .slider_multi__slide__content {
        background-color: rgba(255, 0, 0, 0.7); }
        .slider_wide__slide .slider_multi__content__link:hover .slider_multi__slide__content .slider_multi__slide__short_desc {
          margin-top: -0.5em;
          margin-bottom: -0.5em; }
    .slider_wide__slide .slider_multi__content__link {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      transition: 0.2s ease-out;
      top: 0;
      display: block;
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      background: #b3b4b9;
      background-size: 100%;
      background-size: cover; }
      .slider_wide__slide .slider_multi__content__link:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 100%; }
      .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content {
        font-size: 18px;
        position: absolute;
        bottom: 0;
        height: 75px;
        line-height: 75px;
        overflow: hidden;
        box-sizing: border-box;
        color: #ffffff;
        background-color: #6d6e71;
        width: 100%;
        text-align: center;
        transition: background-color 0.2s ease-out, height 0.2s ease-out, opacity 0.2s ease-out; }
        .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__title {
          margin-top: 0;
          margin-bottom: 0; }
        .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc {
          padding-left: 1em;
          padding-right: 1em; }
          .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc p {
            font-size: 1em;
            margin: 0;
            line-height: 1.2; }
          .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .main_link, .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404 .error404__link, .error404 .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404__link {
            color: #ffffff; }
            .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .main_link:before, .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404 .error404__link:before, .error404 .slider_wide__slide .slider_multi__content__link .slider_multi__slide__content .slider_multi__slide__short_desc .error404__link:before {
              background-color: #ffffff; }
  .slider_wide__navigation {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 100;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 1084px) {
      .slider_wide__navigation {
        right: 30px; } }
    .slider_wide__navigation li {
      list-style: none;
      float: left; }
      .slider_wide__navigation li:first-child {
        margin-right: 10px; }

/**
 * Double links
 */
@media screen and (min-width: 1001px) {
  .widelinks {
    display: -ms-flexbox;
    display: flex; } }

.widelinks__item {
  display: block;
  height: 300px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  text-decoration: none; }
  @media screen and (min-width: 1001px) {
    .widelinks__item {
      -ms-flex: 1;
          flex: 1; } }
  @media screen and (max-width: 1000px) {
    .widelinks__item {
      width: 100%;
      height: auto;
      min-height: 250px; } }
  .widelinks__item:hover .widelinks__bg {
    transform: scale(1.1); }
  .widelinks__item .main_link, .widelinks__item .error404 .error404__link, .error404 .widelinks__item .error404__link {
    position: relative;
    z-index: 100; }

.widelinks__title {
  position: relative;
  z-index: 100;
  color: #ffffff;
  font-size: 1.5em;
  margin: 0;
  margin-bottom: 0.5em; }
  .widelinks__title strong {
    display: block;
    font-size: 1.6em;
    line-height: 1; }

.widelinks__text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 100;
  width: calc(100% - 140px);
  text-align: left;
  transform: translate(-50%, -50%); }
  @media screen and (max-width: 450px) {
    .widelinks__text {
      min-width: 0;
      max-width: none;
      width: 100%;
      padding-left: 1em;
      padding-right: 1em;
      box-sizing: border-box; } }

.widelinks__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  transition: transform 0.2s ease-out !important;
  background-color: #b3b4b9;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  .widelinks__bg__overlay {
    background-color: #2b2b2b;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 15;
    opacity: 0.5;
    transition: opacity 0.2s ease-out; }

@media screen and (min-width: 1001px) {
  .widelinks[data-number='2'] .widelinks__item:first-child {
    border-right: 1px solid #ffffff; } }

@media screen and (max-width: 1000px) {
  .widelinks[data-number='2'] .widelinks__item:first-child {
    border-bottom: 1px solid #b3b4b9; } }

/**
 * Link Overlay
 */
.link__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ff0000;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }

/**
 * Pagination
 */
.pagination {
  padding-top: 80px;
  margin: 0px auto 60px;
  opacity: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }
  .pagination:before, .pagination:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .pagination:after {
    clear: both; }
  @media only screen and (max-width: 600px) {
    .pagination {
      margin-top: 60px auto 0; } }
  .pagination .prev,
  .pagination .next {
    position: relative;
    width: 40px;
    height: 40px;
    border: 2px solid #ff0000;
    color: #ff0000;
    padding: 0; }
    .pagination .prev:before,
    .pagination .next:before {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 10px;
      transition: transform 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .pagination .page-numbers {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .pagination .page-numbers:not(.prev):not(.next) {
    position: relative;
    padding: 0 20px;
    list-style: none;
    cursor: pointer;
    transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
    text-align: center;
    letter-spacing: 2px;
    display: block;
    height: 44px;
    line-height: 44px;
    font-size: 18px;
    color: #000000;
    opacity: 0.8;
    font-weight: 500; }
    .pagination .page-numbers:not(.prev):not(.next).current {
      color: #ff0000;
      cursor: inherit;
      opacity: 1; }
    .pagination .page-numbers:not(.prev):not(.next):hover, .pagination .page-numbers:not(.prev):not(.next):focus {
      text-decoration: none;
      color: #000000;
      opacity: 1; }
      .pagination .page-numbers:not(.prev):not(.next):hover.current, .pagination .page-numbers:not(.prev):not(.next):focus.current {
        color: #ff0000; }

/**
 * Maps infowindow
 */
.gm-style .gm-style-iw-c {
  max-height: none !important;
  max-width: 270px !important;
  padding: 0 !important;
  border-radius: 0 !important; }
  .gm-style .gm-style-iw-c > button {
    top: 0 !important;
    right: 0 !important; }

.gm-style .gm-style-iw-d {
  overflow: auto !important;
  max-height: none !important;
  max-width: none !important; }

.map__infowindow {
  font-size: 13px;
  font-weight: 500;
  padding: 30px 40px;
  text-align: left; }
  .map__infowindow__dots {
    padding-top: 20px;
    margin-bottom: -5px;
    text-align: center; }
    .map__infowindow__dots__item {
      display: inline-block;
      background-color: #000000;
      width: 6px;
      height: 6px;
      margin: 5px;
      margin-top: 0;
      transition: background-color 0.1s cubic-bezier(0.47, 0, 0.745, 0.715);
      text-indent: -999999px;
      overflow: hidden;
      white-space: nowrap;
      border-radius: 50%;
      cursor: pointer; }
      .map__infowindow__dots__item.active {
        background-color: #ff0000; }
  .map__infowindow .map__infowindow__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    padding: 10px;
    color: #ff0000; }
    .map__infowindow .map__infowindow__btn--prev {
      left: 0; }
    .map__infowindow .map__infowindow__btn--next {
      right: 0; }
  .map__infowindow__content {
    visibility: hidden;
    display: none; }
    .map__infowindow__content.active {
      visibility: visible;
      display: block; }
  .map__infowindow__img {
    width: 100%;
    max-width: 180px !important;
    margin: auto;
    margin-bottom: 15px; }
  .map__infowindow__logo {
    width: 100%;
    max-width: 120px !important;
    margin: auto;
    margin-bottom: 15px; }
  .map__infowindow__name {
    display: block;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 18px; }
  .map__infowindow__address {
    margin-bottom: 15px; }
  .map__infowindow__info__item {
    margin-bottom: 10px; }

/**
 * realisations
 */
.center.realisation__text, body .realisation__text.center--small, body .page__single_realisations .realisation__text.realisations__electric_setup__listing.one_col, .page__single_realisations body .realisation__text.realisations__electric_setup__listing.one_col, .mobile_menu .menu .menu-item a.realisation__text {
  padding-bottom: 3.125em; }

.slider-realisations {
  position: relative;
  margin-bottom: 100px;
  overflow: hidden; }
  .slider-realisations:before, .slider-realisations:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .slider-realisations:after {
    clear: both; }
  .slider-realisations .center, .slider-realisations body .center--small, body .slider-realisations .center--small, .slider-realisations body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .slider-realisations .realisations__electric_setup__listing.one_col, .slider-realisations .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .slider-realisations .realisations__electric_setup__listing.one_col, .slider-realisations .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .slider-realisations a {
    padding-top: 0;
    padding-bottom: 0; }
  .slider-realisations__wrapper {
    width: 66%;
    float: right;
    position: relative; }
    .slider-realisations__wrapper:before {
      position: absolute;
      z-index: 1;
      content: '';
      height: 100%;
      display: block;
      left: -99999px;
      right: 100%;
      top: 0;
      bottom: 0;
      background-color: #ffffff; }
    @media screen and (max-width: 1200px) {
      .slider-realisations__wrapper {
        float: none;
        margin: auto;
        overflow: hidden; }
        .slider-realisations__wrapper:before, .slider-realisations__wrapper:after {
          content: " ";
          /* 1 */
          display: table;
          /* 2 */ }
        .slider-realisations__wrapper:after {
          clear: both; } }
    @media screen and (max-width: 800px) {
      .slider-realisations__wrapper {
        width: 100%; } }
    .slider-realisations__wrapper .slider-realisations__arrows {
      list-style: none;
      padding: 0;
      margin: 0;
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      margin-top: -30px; }
      @media screen and (max-width: 500px) {
        .slider-realisations__wrapper .slider-realisations__arrows {
          top: 100%;
          bottom: auto;
          right: auto;
          left: 50%;
          margin-top: 1em;
          width: 90px;
          transform: translate(-50%, 0); } }
      .slider-realisations__wrapper .slider-realisations__arrows--prev, .slider-realisations__wrapper .slider-realisations__arrows--next {
        -moz-appearance: none;
        appearance: none;
        display: none; }
        @media screen and (max-width: 1200px) {
          .slider-realisations__wrapper .slider-realisations__arrows--prev, .slider-realisations__wrapper .slider-realisations__arrows--next {
            display: block; } }
        @media screen and (min-width: 501px) and (max-width: 1200px) {
          .slider-realisations__wrapper .slider-realisations__arrows--prev, .slider-realisations__wrapper .slider-realisations__arrows--next {
            border: none;
            background: transparent;
            color: #ffffff;
            font-size: 60px;
            padding: 0;
            margin: 0;
            opacity: 0.5; } }
      .slider-realisations__wrapper .slider-realisations__arrows--prev {
        position: absolute;
        right: 100%;
        margin-right: 15%; }
        @media screen and (max-width: 800px) {
          .slider-realisations__wrapper .slider-realisations__arrows--prev {
            margin-right: 8%; } }
        @media screen and (max-width: 500px) {
          .slider-realisations__wrapper .slider-realisations__arrows--prev {
            position: relative;
            float: left;
            left: 0;
            right: 0;
            margin-right: 6px; } }
      .slider-realisations__wrapper .slider-realisations__arrows--next {
        position: absolute;
        left: 100%;
        margin-left: 15%; }
        @media screen and (max-width: 800px) {
          .slider-realisations__wrapper .slider-realisations__arrows--next {
            margin-left: 8%; } }
        @media screen and (max-width: 500px) {
          .slider-realisations__wrapper .slider-realisations__arrows--next {
            position: relative;
            float: left;
            left: 0;
            right: 0;
            margin-left: auto; } }
  .slider-realisations__content {
    width: 34%;
    float: left;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    box-sizing: border-box;
    height: 100%;
    margin-right: 0;
    background-color: #efefef; }
    @media screen and (max-width: 1500px) and (min-width: 1201px) {
      .slider-realisations__content {
        left: 30px;
        width: calc(((100% - 60px) / 100) * 34); } }
    @media screen and (max-width: 1200px) {
      .slider-realisations__content {
        position: relative;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        margin-top: 6em;
        width: 100%;
        float: none;
        clear: both; }
        .slider-realisations__content:before {
          content: '';
          display: block;
          width: 20px;
          height: 20px;
          background-color: #efefef;
          position: absolute;
          left: 50%;
          top: 0;
          transform: translate(-50%, -50%) rotate(45deg); } }
    @media screen and (max-width: 1200px) and (max-width: 800px) {
      .slider-realisations__content:before {
        left: 50px; } }
    @media screen and (max-width: 500px) {
      .slider-realisations__content {
        margin-top: 5.5em; } }
    .slider-realisations__content .prodution__title {
      font-size: 1.6875em; }
      .slider-realisations__content .prodution__title a {
        color: #000000; }
    .slider-realisations__content .realisation__text {
      line-height: 2em;
      margin-bottom: 1em; }
    .slider-realisations__content .realisation__link {
      display: inline-block;
      position: relative; }
    .slider-realisations__content__slide {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      top: 50px;
      left: 50px;
      right: 50px; }
      .slider-realisations__content__slide h3 {
        margin-top: 0; }
      @media screen and (max-width: 1200px) {
        .slider-realisations__content__slide {
          top: 0;
          left: 0;
          right: 0;
          padding: 30px; } }
  .slider-realisations__navigation {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    margin: 0;
    padding: 0;
    margin-right: 30px;
    margin-bottom: 30px; }
    .slider-realisations__navigation li {
      list-style: none;
      float: left; }
      .slider-realisations__navigation li:first-child {
        margin-right: 10px; }
    @media screen and (max-width: 1200px) {
      .slider-realisations__navigation {
        z-index: 100;
        right: auto;
        bottom: 100%;
        left: 50%;
        transform: translate(-50%, 0); } }
    @media screen and (max-width: 800px) {
      .slider-realisations__navigation {
        left: 0;
        transform: none; } }
  .slider-realisations__slide {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    float: left; }
    .slider-realisations__slide:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 56.25%; }
    .slider-realisations__slide.current + div {
      left: -2px;
      z-index: -1; }
    .slider-realisations__slide.current a {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%; }
    .slider-realisations__slide figure {
      background-color: #efefef;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      margin: 0;
      background-position: center;
      background-size: cover; }

/**
 * Citation
 */
.citation {
  margin: 0;
  padding: 0; }
  .citation__text {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
    position: relative;
    margin-bottom: 20px; }
    .citation__text:before {
      position: absolute;
      top: -50px;
      left: -25px;
      font-size: 72px;
      opacity: 0.1;
      z-index: -1; }
  .citation__name {
    display: block;
    font-size: 16px;
    font-weight: 700;
    font-style: normal; }
  .citation__role {
    display: block;
    font-size: 16px;
    font-style: normal; }

/**
 * Share link
 */
.share__link {
  line-height: 25px;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  width: 25px;
  height: 25px;
  float: left;
  margin-right: 6px;
  border-radius: 50%;
  transition: transform 0.1s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .share__link:hover, .share__link:focus, .share__link:active {
    text-decoration: none;
    transform: scale(1.1); }
  .share__link.icon-facebook {
    background-color: #3b5998; }
  .share__link.icon-twitter {
    font-size: 11px;
    background-color: #55acee; }
  .share__link.icon-linkedin {
    font-size: 11px;
    background-color: #0077b5; }

/**
 * Listings
 */
.listing-activities__item:hover,
.listing-sectors__item:hover {
  box-shadow: 0 8px 12px #b3b4b9; }
  .listing-activities__item:hover__content,
  .listing-sectors__item:hover__content {
    background-color: rgba(255, 0, 0, 0.7); }
  .listing-activities__item:hover__short_desc,
  .listing-sectors__item:hover__short_desc {
    margin-top: -0.5em;
    margin-bottom: -0.5em; }

.listing-activities__item__title,
.listing-sectors__item__title {
  margin: 0;
  font-size: 16px;
  height: 75px;
  width: 100%;
  display: table;
  vertical-align: middle; }
  .listing-activities__item__title span,
  .listing-sectors__item__title span {
    display: table-cell;
    vertical-align: middle; }

.listing-activities__item__link,
.listing-sectors__item__link {
  transition: 0.2s ease-out;
  top: 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #b3b4b9;
  background-size: 100%;
  background-size: cover;
  background-position: center; }

.listing-activities__item__content,
.listing-sectors__item__content {
  font-size: 18px;
  position: absolute;
  bottom: 0;
  height: 75px;
  overflow: hidden;
  box-sizing: border-box;
  padding-left: 1em;
  padding-right: 1em;
  color: #ffffff;
  background-color: #6d6e71;
  width: 100%;
  text-align: center;
  transition: background-color 0.2s ease-out, height 0.2s ease-out, opacity 0.2s ease-out; }

.listing-activities__item__short_desc,
.listing-sectors__item__short_desc {
  padding-left: 1em;
  padding-right: 1em;
  line-height: 1.2; }
  .listing-activities__item__short_desc p,
  .listing-sectors__item__short_desc p {
    font-size: 1em;
    margin: 0;
    line-height: 1.2; }
  .listing-activities__item__short_desc .main_link, .listing-activities__item__short_desc .error404 .error404__link, .error404 .listing-activities__item__short_desc .error404__link,
  .listing-sectors__item__short_desc .main_link,
  .listing-sectors__item__short_desc .error404 .error404__link, .error404
  .listing-sectors__item__short_desc .error404__link {
    color: #ffffff;
    line-height: 75px; }
    .listing-activities__item__short_desc .main_link:before, .listing-activities__item__short_desc .error404 .error404__link:before, .error404 .listing-activities__item__short_desc .error404__link:before,
    .listing-sectors__item__short_desc .main_link:before,
    .listing-sectors__item__short_desc .error404 .error404__link:before, .error404
    .listing-sectors__item__short_desc .error404__link:before {
      background-color: #ffffff; }

.listing-news__item {
  margin-bottom: 30px; }
  .listing-news__item__header {
    margin-bottom: 15px; }
  .listing-news__item__date {
    display: inline-block;
    text-transform: uppercase;
    color: #8F8F8F;
    font-size: 13px;
    font-weight: 700;
    margin-right: 10px; }
  .listing-news__item__categories {
    margin-bottom: -10px;
    display: inline-block; }
  .listing-news__item__category {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #b3b4b9;
    background-color: #ffffff;
    padding: 10px;
    padding-bottom: 7px;
    margin-right: 10px;
    margin-bottom: 10px; }
  .listing-news__item__link {
    display: block;
    position: relative;
    background-color: #f3f3f3;
    color: inherit;
    text-decoration: none; }
    .listing-news__item__link:before, .listing-news__item__link:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .listing-news__item__link:after {
      clear: both; }
    .listing-news__item__link:hover, .listing-news__item__link:focus {
      text-decoration: none; }
  .listing-news__item__image {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 34%;
    background-color: #dadada;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }
    @media screen and (max-width: 700px) {
      .listing-news__item__image {
        position: relative;
        /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
        position: static;
        width: 100%; }
        .listing-news__item__image:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 50%; } }
  .listing-news__item__content {
    float: right;
    width: 66%;
    box-sizing: border-box;
    padding: 65px 70px;
    min-height: 380px; }
    @media screen and (max-width: 1000px) {
      .listing-news__item__content {
        padding: 30px 40px; } }
    @media screen and (max-width: 700px) {
      .listing-news__item__content {
        float: none;
        min-height: 0;
        width: auto; } }
    @media screen and (max-width: 500px) {
      .listing-news__item__content {
        padding: 15px 20px; } }
  .listing-news__item__title {
    margin: 0;
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5; }
    @media screen and (max-width: 500px) {
      .listing-news__item__title {
        font-size: 20px; } }
  .listing-news__item__text {
    margin-top: 30px;
    margin-bottom: 30px; }

.listing-page {
  margin-bottom: -30px; }
  @media screen and (min-width: 701px) {
    .listing-page {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .listing-page > * {
    margin-bottom: 30px; }
    @media screen and (min-width: 701px) {
      .listing-page > * {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
        margin-right: 30px; } }
    @media screen and (min-width: 1101px) {
      .listing-page > * {
        width: calc((100% - 60px) / 3); }
        .listing-page > *:nth-child(3n) {
          margin-right: auto; } }
    @media screen and (max-width: 1100px) and (min-width: 701px) {
      .listing-page > * {
        width: calc((100% - 30px) / 2); }
        .listing-page > *:nth-child(2n) {
          margin-right: auto; } }
  .listing-page__item__link {
    display: block;
    padding: 20px;
    background-color: #f3f3f3;
    color: #6d6e71;
    font-size: 18px;
    text-decoration: none;
    transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .listing-page__item__link b,
    .listing-page__item__link strong {
      font-weight: normal; }
    .listing-page__item__link:hover, .listing-page__item__link:focus, .listing-page__item__link:active {
      text-decoration: none;
      background-color: #cc0000;
      color: #ffffff; }

/**
 * Search
 */
.search__part {
  margin-bottom: 100px; }
  .search__part__title {
    margin-bottom: 30px; }

/**
 * Fixed social links
 */
.fixed_social {
  position: fixed;
  z-index: 100;
  top: 150px;
  right: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background-color: #ffffff; }
  .fixed_social__link {
    position: relative;
    width: 35px;
    height: 35px;
    font-size: 14px;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    color: #ffffff; }
    .fixed_social__link:before {
      position: relative;
      z-index: 10; }
    .fixed_social__link:after {
      content: '';
      position: absolute;
      z-index: 1;
      width: 30px;
      height: 30px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      transition: transform 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .fixed_social__link.icon-facebook:after {
      background-color: #3b5998; }
    .fixed_social__link.icon-twitter:after {
      background-color: #55acee; }
    .fixed_social__link.icon-linkedin:after {
      background-color: #0077b5; }
    .fixed_social__link.icon-instagram:after {
      background-color: #7332BE; }
    .fixed_social__link.icon-youtube:after {
      background-color: #ED2602; }
    .fixed_social__link.icon-googleplus:after {
      background-color: #DD4B39; }
    .fixed_social__link:hover, .fixed_social__link:focus {
      text-decoration: none; }
      .fixed_social__link:hover:after, .fixed_social__link:focus:after {
        transform: translate(-50%, -50%) scale(1.2); }

.activities__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  margin-block: 30px; }
  @media screen and (max-width: 1000px) {
    .activities__list {
      -ms-flex-direction: column;
          flex-direction: column; } }

.activities__item {
  -ms-flex: 1;
      flex: 1;
  min-height: 300px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  padding: 15px;
  background: #ff0000;
  position: relative;
  isolation: isolate; }
  .activities__item:before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    opacity: 0.5;
    z-index: -1;
    transition: all 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .activities__item:hover:before {
    opacity: 0.4;
    background: #2a0000; }
  .activities__item .icon, .activities__item .breadcrumb a, .breadcrumb .activities__item a, .activities__item .wysiwyg blockquote, .wysiwyg .activities__item blockquote, .activities__item .square__button--prev, .activities__item .block__textslider__slider .arrow--left, .block__textslider__slider .activities__item .arrow--left, .activities__item .square__button--next, .activities__item .block__textslider__slider .arrow--right, .block__textslider__slider .activities__item .arrow--right, .activities__item body.mobile .field--select, body.mobile .activities__item .field--select, .activities__item body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .activities__item .nf-field-element, .activities__item body.tablet .field--select, body.tablet .activities__item .field--select, .activities__item body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .activities__item .nf-field-element, .activities__item .nf-response-msg, .activities__item .dk-selected, .activities__item .tabs__arrow, .activities__item .pagination .prev, .pagination .activities__item .prev, .activities__item .pagination .next, .pagination .activities__item .next, .activities__item .citation__text {
    max-width: 180px;
    max-height: 50px;
    margin-bottom: 20px;
    position: absolute;
    top: 15px;
    left: 15px; }
  .activities__item__link {
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    gap: 10px; }
  .activities__item .maintitle {
    font-size: 30px;
    color: white;
    margin: 0; }
  .activities__item a:hover {
    text-decoration: none; }

.lazyloaded {
  opacity: 1 !important;
  visibility: visible !important; }

.header {
  z-index: 800;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #ffffff;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.05); }
  .header:before, .header:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .header:after {
    clear: both; }

/**
 * Logo
 */
.logo {
  float: left;
  display: inline-block;
  height: 50px;
  width: 266px;
  background-image: url("../img/eiffage-reynders.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-indent: 1001%;
  white-space: nowrap;
  overflow: hidden;
  margin: 35px 0; }

.header .right {
  float: right;
  padding-right: 0.5em; }

/**
 * Main navigation
 */
.menu__item__underline {
  transition: right 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 100%;
  height: 4px;
  background-color: #b3b4b9; }

.header .main-nav {
  float: left; }
  .header .main-nav ul {
    margin: 0; }
    .header .main-nav ul:before, .header .main-nav ul:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .header .main-nav ul:after {
      clear: both; }
    .header .main-nav ul li {
      float: left;
      list-style: none; }
      .header .main-nav ul li a {
        color: #000000;
        text-decoration: none;
        padding: 52px 20px;
        display: inline-block;
        font-weight: 600; }
      .header .main-nav ul li:first-child a {
        padding-left: 0; }
      .header .main-nav ul li a:hover .menu__item__underline,
      .header .main-nav ul li a:focus .menu__item__underline {
        right: 0; }
      .header .main-nav ul li.current-menu-item > a {
        color: #ff0000; }
        .header .main-nav ul li.current-menu-item > a .menu__item__underline {
          right: 0; }
          .header .main-nav ul li.current-menu-item > a .menu__item__underline:before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            right: 100%;
            bottom: 0;
            background-color: #ff0000;
            animation: menu_item_underline_active 0.6s 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) forwards; }
      .header .main-nav ul li.menu-item-has-children > a .menu__item__content {
        display: inline-block;
        position: relative; }
        .header .main-nav ul li.menu-item-has-children > a .menu__item__content:after {
          content: "";
          display: block;
          width: 4px;
          height: 4px;
          border-bottom: 2px solid #b3b4b9;
          border-right: 2px solid #b3b4b9;
          transform: rotate(45deg);
          position: absolute;
          top: 50%;
          right: -15px;
          margin-top: -5px;
          transition: transform 0.2s ease-out; }
      .header .main-nav ul li .menu__item__content {
        position: relative; }
      .header .main-nav ul li .sub-menu {
        position: absolute;
        z-index: 100;
        left: -99999px;
        top: 80%;
        opacity: 0;
        padding: 0;
        background-color: #ffffff;
        box-shadow: 0 10px 15px 5px rgba(0, 0, 0, 0.05);
        min-width: 250px;
        transition: top 0.2s 0.5s ease-out, opacity 0.2s 0.5s ease-out, left 0s 0.2s ease-out, transform 0s 0.2s ease-out; }
        .header .main-nav ul li .sub-menu .menu__item__underline {
          display: none; }
        .header .main-nav ul li .sub-menu .menu-item {
          float: none;
          border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
          .header .main-nav ul li .sub-menu .menu-item:last-child {
            border-bottom: none; }
          .header .main-nav ul li .sub-menu .menu-item a {
            text-align: center;
            padding: 20px;
            width: 100%;
            box-sizing: border-box;
            transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
            .header .main-nav ul li .sub-menu .menu-item a:hover {
              background-color: rgba(0, 0, 0, 0.05); }
      .header .main-nav ul li .sub-menu .sub-menu {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 100%;
        width: 0;
        display: none; }
  .header .main-nav ul > .menu-item.menu-item-has-children {
    position: relative; }
    .header .main-nav ul > .menu-item.menu-item-has-children:hover > a .menu__item__underline {
      right: 0; }
  .header .main-nav ul > .menu-item.menu-item-has-children .menu-item-has-children .menu__item__content {
    position: static; }
  .header .main-nav ul > .menu-item.menu-item-has-children .menu-item-has-children .menu__item__content:after {
    left: auto;
    right: 15px;
    transform: rotate(-45deg); }
  .header .main-nav ul > .menu-item.menu-item-has-children:hover > a .menu__item__content:after {
    transform: rotate(225deg); }
  .header .main-nav ul > .menu-item.menu-item-has-children:hover > .sub-menu {
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 1;
    transition: top 0.2s ease-out, opacity 0.2s ease-out; }
    .header .main-nav ul > .menu-item.menu-item-has-children:hover > .sub-menu .menu__item__content {
      position: static; }
    .header .main-nav ul > .menu-item.menu-item-has-children:hover > .sub-menu .menu__item__content:after {
      left: auto;
      right: 15px;
      transform: rotate(-45deg); }
  .header .main-nav ul > .menu-item.menu-item-has-children:hover > .sub-menu .sub-menu {
    top: 0;
    left: 100%;
    transform: none;
    width: auto;
    display: none;
    z-index: -1; }
  .header .main-nav ul > .menu-item.menu-item-has-children .menu-item-has-children:hover .sub-menu {
    display: block; }
  @media screen and (max-width: 1100px) {
    .header .main-nav {
      display: none; } }

.hambmenu {
  display: none;
  width: 30px;
  height: 25px;
  margin-top: 48px;
  position: relative;
  cursor: pointer; }
  .hambmenu .line {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #b3b4b9;
    position: absolute;
    border-radius: 4px; }
    .hambmenu .line--2 {
      top: 50%;
      transform: translate(0, -50%); }
    .hambmenu .line--3 {
      bottom: 0; }
  @media screen and (max-width: 1100px) {
    .hambmenu {
      display: inline-block;
      position: absolute;
      right: 140px;
      transition: 0.2s ease-out; } }
  @media screen and (max-width: 500px) {
    .hambmenu {
      right: 1em; } }

.mobile_menu {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  .mobile_menu__head {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
    color: #ff0000;
    position: relative;
    z-index: 100; }
    .mobile_menu__head:before, .mobile_menu__head:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .mobile_menu__head:after {
      clear: both; }
    .mobile_menu__head__title {
      font-weight: 500;
      letter-spacing: 2px;
      font-size: 20px;
      text-transform: uppercase;
      float: left;
      line-height: 60px; }
    .mobile_menu__head .action__group {
      float: right; }
      .mobile_menu__head .action__group:before, .mobile_menu__head .action__group:after {
        content: " ";
        /* 1 */
        display: table;
        /* 2 */ }
      .mobile_menu__head .action__group:after {
        clear: both; }
    .mobile_menu__head .language_switcher,
    .mobile_menu__head .close__button {
      transition: background 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      line-height: 60px; }
      .mobile_menu__head .language_switcher:hover,
      .mobile_menu__head .close__button:hover {
        background-color: rgba(0, 0, 0, 0.05); }
    .mobile_menu__head .language_switcher {
      float: left;
      padding: 0;
      padding-left: 30px;
      padding-right: 45px;
      border-left: 1px solid rgba(0, 0, 0, 0.05);
      font-size: 1em;
      margin-right: auto; }
      .mobile_menu__head .language_switcher:before {
        display: none; }
    .mobile_menu__head .close__button {
      font-size: 20px;
      float: right;
      padding-left: 30px;
      padding-right: 30px;
      margin-right: -30px;
      border-left: 1px solid rgba(0, 0, 0, 0.05);
      color: inherit; }
      @media screen and (max-width: 500px) {
        .mobile_menu__head .close__button {
          margin-right: -1em; } }
  .mobile_menu .menu {
    margin-top: 30px;
    margin-bottom: 30px; }
    .mobile_menu .menu .menu-item {
      border-top: 1px solid rgba(0, 0, 0, 0.05); }
      .mobile_menu .menu .menu-item a {
        font-size: 20px;
        display: block;
        padding-top: 20px;
        padding-bottom: 20px;
        color: #1b1f2e;
        color: rgba(27, 31, 46, 0.6);
        transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
        .mobile_menu .menu .menu-item a:hover {
          text-decoration: none;
          background-color: rgba(179, 180, 185, 0.1); }
    .mobile_menu .menu > .menu-item:first-child {
      border-top: none; }
    .mobile_menu .menu .sub-menu > .menu-item a {
      border-left: 20px solid #fff; }
    .mobile_menu .menu .sub-menu .sub-menu > .menu-item a {
      border-left: 40px solid #fff; }
    .mobile_menu .menu .current_page_ancestor.current-menu-item > a {
      color: #1b1f2e;
      color: rgba(27, 31, 46, 0.6); }
    .mobile_menu .menu .current-menu-item > a {
      color: #ff0000; }

/**
 * Language switcher
 */
.language_switcher {
  float: right;
  margin: 0;
  font-size: 0.8125em;
  line-height: 1;
  padding: 53.5px 0;
  padding-left: 35px;
  padding-right: 35px;
  margin-left: 15px;
  margin-right: -20px;
  position: relative;
  cursor: pointer; }
  @media screen and (max-width: 500px) {
    .right > .language_switcher {
      display: none; } }
  .language_switcher:before, .language_switcher:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .language_switcher:after {
    clear: both; }
  .language_switcher:before {
    content: "";
    display: block;
    height: 24px;
    width: 1px;
    background-color: #b3b4b9;
    opacity: 0.5;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -12px; }
  .language_switcher .language_switcher__active {
    text-transform: uppercase;
    position: relative; }
    .language_switcher .language_switcher__active:after {
      content: "";
      display: block;
      width: 4px;
      height: 4px;
      border-bottom: 2px solid #b3b4b9;
      border-right: 2px solid #b3b4b9;
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: -15px;
      margin-top: -5px;
      transition: transform 0.2s ease-out; }
  .language_switcher .language_switcher__list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    box-shadow: 0 10px 15px 5px rgba(0, 0, 0, 0.05); }
    .language_switcher .language_switcher__list .language_switcher__item {
      display: block;
      text-align: center;
      float: none;
      border-top: 1px solid rgba(0, 0, 0, 0.05); }
      .language_switcher .language_switcher__list .language_switcher__item a {
        display: block;
        padding: 1.5em 0.4em;
        color: #000000;
        text-decoration: none;
        text-transform: uppercase;
        transition: background-color 0.15s ease-out; }
        .language_switcher .language_switcher__list .language_switcher__item a:hover {
          background-color: rgba(0, 0, 0, 0.05); }
      .language_switcher .language_switcher__list .language_switcher__item:first-child {
        border-top: none; }
  .language_switcher li {
    float: left;
    list-style: none; }

.lang_switcher_open .language_switcher__active:after {
  transform: rotate(225deg);
  margin-top: -3px; }

.lang_switcher_open .language_switcher__list {
  display: block; }

.backToTop {
  position: fixed;
  z-index: 1000;
  bottom: 5em;
  right: -50px;
  padding: 0.5em;
  background-color: #ffffff;
  box-shadow: 0px 0px 5px #b3b4b9; }
  .backToTop:hover {
    text-decoration: none; }

.pre_footer {
  position: relative;
  z-index: 10; }
  .pre_footer .prefooter--location__map {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: calc( (100% - (58% + 80px)  ));
    min-height: 500px;
    background-color: #b3b4b9; }
    @media only screen and (max-width: 970px) {
      .pre_footer .prefooter--location__map {
        width: 48.57143%;
        float: left;
        margin-right: 2.85714%; } }
    @media only screen and (max-width: 800px) {
      .pre_footer .prefooter--location__map {
        width: 100%;
        float: left;
        margin-left: 0;
        margin-right: 0;
        margin-top: 2em;
        position: relative;
        /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
        width: 100%; }
        .pre_footer .prefooter--location__map:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 50%; } }
  .pre_footer .prefooter--location__text {
    margin-bottom: 30px; }
  .pre_footer .slider-location__slide {
    padding-bottom: 30px; }
  .pre_footer .footer__location__title {
    font-size: 1.6875em;
    margin: 0;
    margin-bottom: 30px; }
  .pre_footer .slider-location__details {
    font-size: 1em;
    line-height: 1.2;
    margin-bottom: 1em;
    margin-top: 0.5em;
    cursor: pointer; }
  .pre_footer .slider-location__info__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .pre_footer .slider-location__info {
    margin-bottom: 1em;
    margin-right: 1em;
    display: inline-block;
    position: relative;
    padding-left: 35px; }
    .pre_footer .slider-location__info .icon, .pre_footer .slider-location__info .breadcrumb a, .breadcrumb .pre_footer .slider-location__info a, .pre_footer .slider-location__info .wysiwyg blockquote, .wysiwyg .pre_footer .slider-location__info blockquote, .pre_footer .slider-location__info .square__button--prev, .pre_footer .slider-location__info .block__textslider__slider .arrow--left, .block__textslider__slider .pre_footer .slider-location__info .arrow--left, .pre_footer .slider-location__info .square__button--next, .pre_footer .slider-location__info .block__textslider__slider .arrow--right, .block__textslider__slider .pre_footer .slider-location__info .arrow--right, .pre_footer .slider-location__info body.mobile .field--select, body.mobile .pre_footer .slider-location__info .field--select, .pre_footer .slider-location__info body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .pre_footer .slider-location__info .nf-field-element, .pre_footer .slider-location__info body.tablet .field--select, body.tablet .pre_footer .slider-location__info .field--select, .pre_footer .slider-location__info body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .pre_footer .slider-location__info .nf-field-element, .pre_footer .slider-location__info .nf-response-msg, .pre_footer .slider-location__info .dk-selected, .pre_footer .slider-location__info .tabs__arrow, .pre_footer .slider-location__info .pagination .prev, .pagination .pre_footer .slider-location__info .prev, .pre_footer .slider-location__info .pagination .next, .pagination .pre_footer .slider-location__info .next, .pre_footer .slider-location__info .citation__text {
      font-size: 1.2em;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      width: 30px;
      text-align: center; }

.pre_footer + .footer .center, .pre_footer + .footer body .center--small, body .pre_footer + .footer .center--small, body .pre_footer + .footer .page__default > .center, .pre_footer + .footer body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .pre_footer + .footer .realisations__electric_setup__listing.one_col, .pre_footer + .footer .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .pre_footer + .footer .realisations__electric_setup__listing.one_col, .pre_footer + .footer .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .pre_footer + .footer a {
  padding-top: 6.5625rem; }

.footer {
  position: relative; }
  .footer .noomia {
    position: relative;
    display: inline-block;
    width: 81px;
    height: 15px;
    text-indent: -9999px;
    vertical-align: middle; }
    .footer .noomia:before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      content: "";
      opacity: .7;
      background-position: left center;
      background-size: 81px 15px;
      background-repeat: no-repeat;
      background-image: url(../img/logo-noomia--dark.svg); }
    .footer .noomia:after {
      transition: width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 0;
      height: 100%;
      content: "";
      background-position: left center;
      background-size: 81px 15px;
      background-repeat: no-repeat;
      background-image: url(../img/logo-noomia--dark.svg); }
    .footer .noomia:hover:after {
      width: 100%; }
  @media screen and (min-width: 671px) {
    .footer__inner {
      display: -ms-flexbox;
      display: flex; }
      .footer__inner .footer__content {
        -ms-flex: 1;
            flex: 1; } }
  .footer__logo {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: block;
    height: 45px;
    width: 240px;
    background-image: url("../img/logo_eiffage-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    text-indent: 1001%;
    white-space: nowrap;
    overflow: hidden;
    margin-right: 90px; }
    @media screen and (max-width: 1250px) {
      .footer__logo {
        margin-right: 20px; } }
    @media screen and (max-width: 1000px) {
      .footer__logo {
        margin-right: 90px; } }
    @media screen and (max-width: 670px) {
      .footer__logo {
        margin-left: 0;
        margin-right: auto;
        margin-bottom: 30px; } }
    @media screen and (min-width: 671px) {
      .footer__logo + .footer__content {
        -ms-flex: 1;
            flex: 1;
        margin-top: 10px; } }
    @media screen and (max-width: 1000px) {
      .footer__logo + .footer__content .networks {
        float: none;
        clear: both;
        margin-top: 1em; } }
  .footer .footer__background {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background-color: #2b2b2b; }
  .footer .center, .footer body .center--small, body .footer .center--small, .footer body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .footer .realisations__electric_setup__listing.one_col, .footer .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .footer .realisations__electric_setup__listing.one_col, .footer .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .footer a {
    clear: both;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem; }

/**
 * Copyright
 */
.copyright {
  float: left;
  color: #ffffff; }
  @media screen and (max-width: 1000px) {
    .copyright {
      float: none;
      clear: both; } }
  .copyright:before, .copyright:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .copyright:after {
    clear: both; }
  .copyright a {
    color: #ffffff; }
  .copyright small {
    font-size: 12px;
    line-height: 1;
    display: inline-block;
    float: left;
    margin-right: 1.875rem; }
    @media screen and (max-width: 1150px) {
      .copyright small {
        float: none;
        margin-right: auto; } }

/**
 * Footer-nav
 */
.footer-nav {
  float: left; }
  @media screen and (max-width: 1150px) {
    .footer-nav {
      float: none;
      clear: both;
      margin-top: 1em; } }
  .footer-nav ul {
    margin: 0;
    padding: 0; }
    .footer-nav ul:before, .footer-nav ul:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .footer-nav ul:after {
      clear: both; }
    @media screen and (max-width: 1000px) {
      .footer-nav ul {
        margin-bottom: -1em; } }
    .footer-nav ul li {
      float: left;
      margin-right: 0.625rem;
      padding-right: 0.625rem;
      border-right: 1px solid #ffffff;
      list-style: none; }
      @media screen and (max-width: 1000px) {
        .footer-nav ul li {
          margin-bottom: 1em; } }
      .footer-nav ul li:last-child {
        margin-right: 0;
        border-right: 0;
        padding-right: 0; }

/**
 * Footer-links
 */
.footer-links {
  clear: both; }
  .footer-links ul {
    margin: 0;
    padding: 0;
    margin-top: 2em; }
    .footer-links ul:before, .footer-links ul:after {
      content: " ";
      /* 1 */
      display: table;
      /* 2 */ }
    .footer-links ul:after {
      clear: both; }
    @media screen and (max-width: 1150px) {
      .footer-links ul {
        padding-top: 2em;
        margin-top: auto; } }
    .footer-links ul li {
      float: left;
      margin-right: 0.625rem;
      list-style: none; }
      .footer-links ul li:last-child {
        margin-right: 0;
        border-right: 0;
        padding-right: 0; }

.footer__bottom__center {
  font-size: 12px; }

/**
 * Networks
 */
.networks {
  float: right;
  margin: 0;
  padding: 0;
  color: #ffffff; }
  @media screen and (max-width: 750px) {
    .networks {
      float: none;
      clear: both;
      margin-top: 1em; } }
  .networks__text {
    font-size: 14px; }
  .networks a {
    display: inline-block;
    color: #ffffff;
    padding: 8px;
    width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    margin-top: -8px;
    text-decoration: none;
    position: relative; }
    .networks a:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background-color: #ff0000;
      z-index: -1;
      opacity: 0;
      transform: scale(0.5);
      border-radius: 50%;
      transition: opacity 0.2s ease-out, transform 0.2s ease-out; }
    .networks a:hover:after {
      opacity: 1;
      transform: scale(1); }
    .networks a.icon-facebook:after {
      background-color: #3b5998; }
    .networks a.icon-linkedin:after {
      background-color: #0077b5; }
    .networks a.icon-twitter:after {
      background-color: #55acee; }
    .networks a.icon-gplus:after {
      background-color: #DD4B39; }
    .networks a.icon-instagram:after {
      background-color: #7332BE; }
    .networks a.icon-youtube:after {
      background-color: #ED2602; }
  .networks li {
    float: left;
    list-style: none; }
    .networks li:first-child {
      margin-right: 0.625rem; }
    .networks li:last-child {
      margin-right: 0; }

.search_bar__container {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  overflow: hidden; }

.search_bar__bg {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  opacity: 0.9; }

.search_bar__content {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 1200px; }
  .search_bar__content:before, .search_bar__content:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .search_bar__content:after {
    clear: both; }

.search_bar__input, .search_bar__button, .search_bar__close {
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
  outline: none;
  padding: 0; }

.search_bar__input__container {
  display: block;
  position: relative;
  height: 100px;
  width: calc( 100% - 60px);
  float: left;
  box-sizing: border-box;
  border-bottom: 2px solid #ff0000; }

.search_bar__input {
  display: block;
  height: 100%;
  width: 100%;
  font-size: 60px; }

.search_bar__button {
  display: block;
  float: right;
  font-size: 50px;
  cursor: pointer;
  margin-top: 25px;
  color: #ff0000;
  transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .search_bar__button:hover, .search_bar__button:focus {
    color: #cc0000; }
  .search_bar__button i {
    line-height: 0; }

.search_bar__close {
  position: absolute;
  z-index: 10;
  top: 1em;
  right: 1em;
  font-size: 1.5em;
  cursor: pointer; }

@media screen and (max-width: 1000px) {
  .search_bar__input {
    font-size: 3em; } }

@media screen and (max-width: 700px) {
  .search_bar__content {
    text-align: center; }
  .search_bar__input__container {
    width: 100%;
    float: none;
    height: 50px; }
  .search_bar__input {
    font-size: 2em; }
  .search_bar__button {
    display: inline-block;
    float: none;
    margin-top: 20px; } }

@media screen and (max-width: 700px) {
  .search_bar__input {
    font-size: 1.2em; } }

.page__home {
  /**
    * Activities
    */
  /**
     * realisations
     */
  /**
     * Join Us
     */
  /**
     * NEWS
     */ }
  .page__home .heading {
    position: relative;
    height: 600px;
    margin-bottom: 0; }
    .page__home .heading .slide__title {
      font-size: 35px;
      color: #ffffff;
      margin-bottom: 0.5em; }
    .page__home .heading .slide__content {
      font-size: 18px;
      color: #ffffff; }
    .page__home .heading__slides {
      position: absolute;
      top: 0;
      left: 0;
      overflow: hidden;
      width: 100%;
      height: 100%;
      background-color: #b3b4b9; }
    .page__home .heading__slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-position: center;
      background-size: cover; }
      .page__home .heading__slide .heading__slide__text {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate(0, -50%); }
        .page__home .heading__slide .heading__slide__text .main_link + .main_link, .page__home .heading__slide .heading__slide__text .error404 .error404__link + .main_link, .error404 .page__home .heading__slide .heading__slide__text .error404__link + .main_link, .page__home .heading__slide .heading__slide__text .error404 .main_link + .error404__link, .error404 .page__home .heading__slide .heading__slide__text .main_link + .error404__link, .page__home .heading__slide .heading__slide__text .error404 .error404__link + .error404__link, .error404 .page__home .heading__slide .heading__slide__text .error404__link + .error404__link {
          margin-top: 10px; }
        @media screen and (max-width: 1500px) {
          .page__home .heading__slide .heading__slide__text {
            margin-left: 1.875em;
            margin-right: 1.875em; } }
      .page__home .heading__slide--video {
        background-image: none !important; }
      .page__home .heading__slide .slide__content {
        max-width: 700px;
        margin-bottom: 1em; }
      .page__home .heading__slide .slide__btn {
        display: block;
        float: left;
        clear: both; }
      .page__home .heading__slide .wrapper {
        max-width: 1600px;
        margin-left: auto;
        margin-right: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        box-sizing: border-box;
        width: 100%;
        padding: 0 6.25rem;
        transform: translate3d(-50%, -50%, 0); }
        .page__home .heading__slide .wrapper:after {
          content: " ";
          display: block;
          clear: both; }
      .page__home .heading__slide .player {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1; }
        .page__home .heading__slide .player video {
          display: block; }
      .page__home .heading__slide .center, .page__home .heading__slide body .center--small, body .page__home .heading__slide .center--small, .page__home .heading__slide body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .page__home .heading__slide .realisations__electric_setup__listing.one_col, .page__home .heading__slide .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .page__home .heading__slide .realisations__electric_setup__listing.one_col, .page__home .heading__slide .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .page__home .heading__slide a {
        z-index: 10;
        min-height: 100%; }
      .page__home .heading__slide__overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        background-color: #000000;
        opacity: 0.3; }
  .page__home .home_kf {
    padding-top: 100px;
    padding-bottom: 100px; }
    .page__home .home_kf__title {
      font-size: 22px; }
      @media screen and (max-width: 600px) {
        .page__home .home_kf__title {
          text-align: center; } }
      @media screen and (min-width: 601px) {
        .page__home .home_kf__title {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: center;
              justify-content: center; } }
      @media screen and (max-width: 950px) and (min-width: 601px) {
        .page__home .home_kf__title {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media screen and (min-width: 601px) {
        .page__home .home_kf__title > * {
          margin-right: 30px; }
          .page__home .home_kf__title > *:last-child {
            margin-right: 0; } }
      @media screen and (max-width: 600px) {
        .page__home .home_kf__title > * {
          margin-top: 10px;
          margin-bottom: 10px; } }
    @media screen and (max-width: 950px) {
      .page__home .home_kf__middle {
        width: 100%;
        text-align: center;
        margin-top: 20px;
        margin-bottom: 20px; } }
    .page__home .home_kf__workers, .page__home .home_kf__turnover {
      text-align: center;
      line-height: 1;
      color: #ff0000; }
      .page__home .home_kf__workers strong, .page__home .home_kf__turnover strong {
        display: block;
        font-size: 50px; }
        .page__home .home_kf__workers strong:before, .page__home .home_kf__turnover strong:before {
          font-size: 0.8em;
          display: inline-block;
          margin-right: 10px; }
      .page__home .home_kf__workers span, .page__home .home_kf__turnover span {
        display: block;
        font-size: 36px; }
  .page__home .home__activities {
    padding-block: 100px;
    background: #f3f3f3; }
    .page__home .home__activities .wysiwyg {
      margin-block: 20px;
      max-width: 90ch; }
  .page__home .home__realisations {
    padding-top: 80px; }
    .page__home .home__realisations .wysiwyg {
      margin-block: 20px;
      max-width: 90ch; }
    .page__home .home__realisations .realisations__text {
      margin-block: 30px; }
  .page__home .slider_multi {
    visibility: hidden; }
  .page__home .realisations .hgroup {
    margin-bottom: 40px; }
  .page__home .home__over {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    height: 700px;
    background: black;
    margin-top: 160px;
    color: white;
    position: relative;
    overflow: hidden;
    isolation: isolate; }
    .page__home .home__over .wysiwyg {
      margin-block: 20px;
      max-width: 90ch; }
    .page__home .home__over .over__player {
      position: absolute;
      inset: 0;
      z-index: -1; }
    .page__home .home__over .over__overlay {
      position: absolute;
      inset: 0;
      background-color: black;
      opacity: 0.5;
      z-index: -1; }
  .page__home .home__join_us {
    text-align: center;
    padding-top: 100px;
    padding-bottom: 100px; }
    .page__home .home__join_us .hgroup {
      margin-bottom: 40px; }
    .page__home .home__join_us__parts {
      visibility: hidden;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (min-width: 801px) {
        .page__home .home__join_us__parts {
          display: -ms-flexbox;
          display: flex;
          max-width: 1150px; } }
    .page__home .home__join_us__part {
      box-sizing: border-box;
      text-align: left;
      padding-top: 30px;
      padding-bottom: 30px; }
      @media screen and (min-width: 801px) {
        .page__home .home__join_us__part {
          -ms-flex-positive: 0;
              flex-grow: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: 50%; } }
      .page__home .home__join_us__part .icon, .page__home .home__join_us__part .breadcrumb a, .breadcrumb .page__home .home__join_us__part a, .page__home .home__join_us__part .wysiwyg blockquote, .wysiwyg .page__home .home__join_us__part blockquote, .page__home .home__join_us__part .square__button--prev, .page__home .home__join_us__part .block__textslider__slider .arrow--left, .block__textslider__slider .page__home .home__join_us__part .arrow--left, .page__home .home__join_us__part .square__button--next, .page__home .home__join_us__part .block__textslider__slider .arrow--right, .block__textslider__slider .page__home .home__join_us__part .arrow--right, .page__home .home__join_us__part body.mobile .field--select, body.mobile .page__home .home__join_us__part .field--select, .page__home .home__join_us__part body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .page__home .home__join_us__part .nf-field-element, .page__home .home__join_us__part body.tablet .field--select, body.tablet .page__home .home__join_us__part .field--select, .page__home .home__join_us__part body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .page__home .home__join_us__part .nf-field-element, .page__home .home__join_us__part .nf-response-msg, .page__home .home__join_us__part .dk-selected, .page__home .home__join_us__part .tabs__arrow, .page__home .home__join_us__part .pagination .prev, .pagination .page__home .home__join_us__part .prev, .page__home .home__join_us__part .pagination .next, .pagination .page__home .home__join_us__part .next, .page__home .home__join_us__part .citation__text {
        font-size: 24px;
        color: #b3b4b9;
        margin-bottom: 5px; }
      .page__home .home__join_us__part .title {
        margin-top: 0;
        margin-bottom: 20px;
        font-size: 22px;
        font-weight: 700; }
      .page__home .home__join_us__part .wysiwyg {
        margin-bottom: 20px; }
      @media screen and (min-width: 801px) {
        .page__home .home__join_us__part--left {
          padding-right: 70px;
          border-right: 2px solid #f3f3f3; }
        .page__home .home__join_us__part--right {
          padding-left: 70px; } }
  .page__home .home__news {
    background-color: #f3f3f3;
    padding-top: 100px;
    padding-bottom: 100px; }
    .page__home .home__news .hgroup {
      margin-bottom: 40px; }
    .page__home .home__news__list {
      visibility: hidden;
      clear: both;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: stretch;
          align-items: stretch;
      margin-top: -30px; }
    .page__home .home__news__item {
      width: calc((100% - 60px) / 3);
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      box-sizing: border-box;
      margin-top: 30px;
      margin-right: 30px;
      background-color: #ffffff; }
      .page__home .home__news__item:last-child {
        margin-right: 0; }
      @media screen and (max-width: 1000px) {
        .page__home .home__news__item {
          width: calc((100% - 30px) / 2);
          margin-right: 30px; }
          .page__home .home__news__item:nth-child(2n) {
            margin-right: 0; } }
      @media screen and (max-width: 750px) {
        .page__home .home__news__item {
          width: 100%;
          max-width: 440px;
          margin-right: 0; } }
    .page__home .home__news__item__link {
      display: block;
      height: 100%;
      text-decoration: none;
      color: inherit; }
      .page__home .home__news__item__link:hover .link__overlay {
        opacity: 0.2; }
      .page__home .home__news__item__link:hover .title {
        color: #ff0000; }
      .page__home .home__news__item__link:hover .link--basic:after, .page__home .home__news__item__link:hover .map__infowindow__info__item a:after, .map__infowindow__info__item .page__home .home__news__item__link:hover a:after, .page__home .home__news__item__link:hover .page__join_us .join_us__offers__link:after, .page__join_us .page__home .home__news__item__link:hover .join_us__offers__link:after {
        opacity: 1;
        left: 0;
        right: 0; }
    .page__home .home__news__item__image {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      position: relative;
      width: 100%;
      margin: 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      .page__home .home__news__item__image:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 65.90909%; }
    .page__home .home__news__item__content {
      padding: 35px; }
      .page__home .home__news__item__content .title {
        font-weight: 500;
        font-size: 22px;
        margin: 0;
        line-height: 1.2;
        transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .page__home .home__news__item__content .wysiwyg {
        margin-top: 20px;
        margin-bottom: 20px; }
        .page__home .home__news__item__content .wysiwyg p {
          margin: 0;
          margin-bottom: 0.8em; }
      .page__home .home__news__item__content .link--basic, .page__home .home__news__item__content .map__infowindow__info__item a, .map__infowindow__info__item .page__home .home__news__item__content a, .page__home .home__news__item__content .page__join_us .join_us__offers__link, .page__join_us .page__home .home__news__item__content .join_us__offers__link {
        display: inline-block;
        color: #ff0000; }
    .page__home .home__news__item__categories {
      margin-bottom: -10px;
      position: absolute;
      top: 15px;
      left: 15px;
      right: 15px;
      bottom: 15px; }
    .page__home .home__news__item__category {
      display: inline-block;
      font-size: 13px;
      font-weight: 600;
      line-height: 1;
      text-transform: uppercase;
      color: #b3b4b9;
      background-color: #ffffff;
      padding: 10px;
      padding-bottom: 7px;
      margin-right: 10px;
      margin-bottom: 10px; }

.page__about .heading {
  margin-bottom: 0; }

.page__about .about__section:nth-child(even) {
  background-color: #E9E9E9; }
  .page__about .about__section:nth-child(even) .block__textslider__slider:before {
    background-color: #E9E9E9; }
  .page__about .about__section:nth-child(even) .date__button,
  .page__about .about__section:nth-child(even) .slider__arrow {
    background-color: #E9E9E9; }

.page__about .about__section:nth-child(odd) .block__textslider__slider:before {
  background-color: #ffffff; }

.page__about .about__section:nth-child(odd) .date__button,
.page__about .about__section:nth-child(odd) .slider__arrow {
  background-color: #ffffff; }

.page__about .about__who {
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px; }
  .page__about .about__who .links {
    margin-top: 10px; }

.page__about .about__group {
  position: relative;
  background-color: #f3f3f3;
  padding-top: 100px;
  padding-bottom: 100px; }
  .page__about .about__group:before, .page__about .about__group:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .page__about .about__group:after {
    clear: both; }
  .page__about .about__group .wysiwyg {
    margin-top: 30px;
    margin-bottom: 30px; }
  .page__about .about__group__img {
    position: absolute;
    top: 0;
    right: calc((100% + 100px) / 2);
    left: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    .page__about .about__group__img__container {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      position: absolute;
      right: calc((100% + 100px) / 2);
      width: 100%;
      max-width: 600px; }
      .page__about .about__group__img__container:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 75%; }
      @media screen and (max-width: 1199px) {
        .page__about .about__group__img__container {
          position: relative;
          position: relative;
          /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
          left: 0;
          max-width: 600px;
          margin: auto;
          margin-bottom: 50px; }
          .page__about .about__group__img__container:before {
            display: block;
            content: " ";
            width: 100%;
            padding-top: 75%; } }
      @media screen and (max-width: 1199px) {
        .page__about .about__group__img__container {
          width: calc(100% - (2 * 1.875em));
          margin-left: 1.875em;
          margin-right: 1.875em; } }
      @media screen and (max-width: 500px) {
        .page__about .about__group__img__container {
          width: calc(100% - (2em));
          margin-left: 1em;
          margin-right: 1em; } }
    .page__about .about__group__img-1, .page__about .about__group__img-2 {
      width: calc(50% + 15px);
      height: 100%;
      position: absolute;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
    .page__about .about__group__img-1 {
      top: 0;
      left: 0; }
    .page__about .about__group__img-2 {
      top: 30px;
      left: calc(50% - 15px); }
    @media screen and (max-width: 1199px) {
      .page__about .about__group__img {
        position: relative;
        position: relative;
        /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
        left: 0;
        max-width: 600px;
        margin: auto;
        margin-bottom: 50px; }
        .page__about .about__group__img:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 66.66667%; } }
    @media screen and (max-width: 1199px) {
      .page__about .about__group__img {
        margin-left: 1.875em;
        margin-right: 1.875em; } }
    @media screen and (max-width: 500px) {
      .page__about .about__group__img {
        margin-left: 1em;
        margin-right: 1em; } }

.page__about .about__assets {
  padding-top: 100px;
  text-align: center;
  padding-bottom: 100px; }
  .page__about .about__assets .hgroup {
    margin-bottom: 40px; }
  .page__about .about__assets__text {
    color: #000000;
    margin-bottom: 40px; }
  .page__about .about__assets .links {
    padding-top: 60px;
    text-align: center; }

.page__about .about__dna {
  padding-top: 100px;
  padding-bottom: 100px; }
  @media screen and (min-width: 1201px) {
    .page__about .about__dna__inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center; } }
  @media screen and (min-width: 1201px) and (min-width: 1351px) {
    .page__about .about__dna__inner > * {
      width: calc((100% - 100px) / 2); } }
  @media screen and (min-width: 1201px) and (max-width: 1350px) and (min-width: 1201px) {
    .page__about .about__dna__inner > * {
      width: calc((100% - 50px) / 2); } }
  .page__about .about__dna__text .wysiwyg {
    margin-top: 30px; }
  .page__about .about__dna__image {
    background-color: #b3b4b9;
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 50px; }
    .page__about .about__dna__image:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 71.42857%; }
    @media screen and (min-width: 1351px) {
      .page__about .about__dna__image {
        margin-right: 100px; } }
    @media screen and (max-width: 1350px) and (min-width: 1201px) {
      .page__about .about__dna__image {
        margin-right: 50px; } }
    @media screen and (max-width: 1200px) {
      .page__about .about__dna__image {
        max-width: 600px;
        margin-bottom: 30px; } }

.page__about .about__albums {
  padding-top: 100px;
  text-align: center;
  padding-bottom: 100px; }
  .page__about .about__albums .hgroup {
    margin-bottom: 40px; }
  .page__about .about__albums__text {
    color: #000000; }
  .page__about .about__albums__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    padding-top: 60px;
    text-align: center;
    margin: -30px -10px -10px; }
    .page__about .about__albums__list ._df_book-cover {
      background-size: cover;
      background-position: center; }
    .page__about .about__albums__list ._df_thumb {
      width: 150px;
      height: 150px; }

.page__about .about__management {
  padding-top: 100px;
  padding-bottom: 100px; }
  .page__about .about__management__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-top: 30px;
    margin-bottom: -30px; }
  .page__about .about__management__item {
    margin-bottom: 30px; }
    @media screen and (min-width: 1001px) {
      .page__about .about__management__item {
        width: calc((100% - 60px) / 3); } }
    @media screen and (max-width: 1000px) and (min-width: 551px) {
      .page__about .about__management__item {
        width: calc((100% - 30px) / 2); } }
    @media screen and (max-width: 550px) {
      .page__about .about__management__item {
        width: 100%; } }
  .page__about .about__management__item__content {
    position: relative;
    padding: 20px 0;
    padding-right: 60px; }
  .page__about .about__management__item__image {
    width: 100%;
    height: auto; }
  .page__about .about__management__item__name {
    margin: 0;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase; }
  .page__about .about__management__item__role {
    font-size: 16px;
    font-weight: 400;
    color: #8F8F8F; }
  .page__about .about__management__item__action {
    position: absolute;
    top: 20px;
    right: 0; }
    .page__about .about__management__item__action a {
      display: block;
      width: 30px;
      height: 30px;
      background-color: #ff0000;
      color: #ffffff;
      line-height: 30px;
      text-align: center;
      text-decoration: none;
      margin-bottom: 3px;
      transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .page__about .about__management__item__action a.icon-linkedin {
        background-color: #0077b5; }
        .page__about .about__management__item__action a.icon-linkedin:hover, .page__about .about__management__item__action a.icon-linkedin:focus {
          background-color: #004569; }
      .page__about .about__management__item__action a.icon-email {
        background-color: #1b1f2e; }
        .page__about .about__management__item__action a.icon-email:hover, .page__about .about__management__item__action a.icon-email:focus {
          background-color: black; }

.page__about .about__responsibility {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 100px;
  padding-bottom: 100px; }

@media screen and (min-width: 1000px) {
  .page__about .about__story .about__story__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-line-pack: stretch;
        align-content: stretch;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; } }

.page__about .about__story .about__story__texts {
  padding-top: 50px;
  padding-bottom: 50px;
  margin-right: 100px; }
  @media screen and (max-width: 999px) {
    .page__about .about__story .about__story__texts {
      margin-right: auto; } }
  .page__about .about__story .about__story__texts .wysiwyg {
    margin-top: 30px;
    max-width: 800px; }
  .page__about .about__story .about__story__texts img {
    display: block;
    margin-top: 30px;
    max-width: 450px;
    height: auto; }
  .page__about .about__story .about__story__texts .slides {
    height: 100%;
    width: 100%;
    display: table; }
  .page__about .about__story .about__story__texts .slide {
    display: none;
    vertical-align: middle;
    width: 100%; }
    .page__about .about__story .about__story__texts .slide.current {
      display: table-cell; }

.page__about .about__story .about__story__dates {
  position: relative; }
  @media screen and (min-width: 1000px) {
    .page__about .about__story .about__story__dates {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
      width: 300px; } }
  @media screen and (max-width: 999px) {
    .page__about .about__story .about__story__dates {
      width: 100%;
      height: 100px; } }
  .page__about .about__story .about__story__dates:after {
    content: "";
    display: block;
    width: 1px;
    border-left: 1px solid #b3b4b9;
    z-index: 1;
    position: absolute;
    left: 50%;
    margin-left: -0.5px;
    top: 0;
    bottom: 0; }
    @media screen and (max-width: 999px) {
      .page__about .about__story .about__story__dates:after {
        border-left: 0px;
        border-top: 1px solid #b3b4b9;
        top: 50%;
        bottom: auto;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-top: -0.5px;
        width: auto;
        height: 1px; } }
  .page__about .about__story .about__story__dates .slider__container {
    height: 240px;
    padding-top: 50px;
    padding-bottom: 50px;
    z-index: 20;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translate(0, -50%); }
    @media screen and (max-width: 999px) {
      .page__about .about__story .about__story__dates .slider__container {
        padding: 0 10%;
        width: 240px;
        margin: auto; } }
    @media screen and (max-width: 399px) {
      .page__about .about__story .about__story__dates .slider__container {
        width: 280px;
        box-sizing: border-box; } }
  .page__about .about__story .about__story__dates .slider__arrow {
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    border: 2px solid #ff0000;
    color: #ff0000;
    font-size: 6px;
    z-index: 50;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0); }
    @media screen and (max-width: 999px) {
      .page__about .about__story .about__story__dates .slider__arrow {
        left: auto;
        top: 50%;
        transform: translate(0, -50%) rotate(-90deg); } }
    .page__about .about__story .about__story__dates .slider__arrow--prev {
      top: 0; }
      @media screen and (max-width: 999px) {
        .page__about .about__story .about__story__dates .slider__arrow--prev {
          left: 0;
          top: 50%; } }
    .page__about .about__story .about__story__dates .slider__arrow--next {
      bottom: 0; }
      @media screen and (max-width: 999px) {
        .page__about .about__story .about__story__dates .slider__arrow--next {
          right: 0; } }
  .page__about .about__story .about__story__dates__slider {
    overflow: hidden;
    height: 100%; }
  .page__about .about__story .about__story__dates .slides {
    height: 100%;
    box-sizing: border-box; }
  .page__about .about__story .about__story__dates .slide {
    width: 100%;
    height: 40px;
    margin-bottom: 30px;
    position: relative; }
    @media screen and (max-width: 999px) {
      .page__about .about__story .about__story__dates .slide {
        width: 40px;
        height: 100%;
        margin-bottom: auto;
        margin-right: 30px;
        float: left; } }
    @media screen and (max-width: 399px) {
      .page__about .about__story .about__story__dates .slide {
        margin-right: 26.667px; } }
    .page__about .about__story .about__story__dates .slide:nth-child(2n) .date__text {
      text-align: left;
      float: right; }
    .page__about .about__story .about__story__dates .slide .date__text {
      text-align: right; }
    .page__about .about__story .about__story__dates .slide.current .date__button {
      border-color: #000000; }
    .page__about .about__story .about__story__dates .slide.current .date__button:before {
      background-color: #000000; }
    .page__about .about__story .about__story__dates .slide.current .date__button:after {
      display: block;
      padding: 10px;
      opacity: 1; }
    .page__about .about__story .about__story__dates .slide.current .date__text {
      color: #000000;
      opacity: 1; }
    .page__about .about__story .about__story__dates .slide .date__button {
      position: absolute;
      z-index: 10;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 40px;
      height: 40px;
      border: 1px solid #b3b4b9;
      transition: border 0.2s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .page__about .about__story .about__story__dates .slide .date__button:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        content: "";
        width: 10px;
        height: 10px;
        background-color: #b3b4b9;
        transition: background-color 0.2s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .page__about .about__story .about__story__dates .slide .date__button:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        content: "";
        width: 100%;
        height: 100%;
        border: 0.5px solid #b3b4b9;
        padding: 0;
        opacity: 0;
        transition: padding 0.4s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), opacity 0.4s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), border 0.4s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .page__about .about__story .about__story__dates .slide .date__text__container {
      display: block;
      height: 100%;
      width: 100%;
      line-height: 40px;
      color: #b3b4b9;
      transition: color 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); }
      .page__about .about__story .about__story__dates .slide .date__text__container .date__text {
        display: table;
        height: 100%;
        width: 100px;
        vertical-align: middle; }
      .page__about .about__story .about__story__dates .slide .date__text__container span {
        display: table-cell;
        line-height: 1.2;
        vertical-align: middle; }
      @media screen and (max-width: 999px) {
        .page__about .about__story .about__story__dates .slide .date__text__container {
          position: absolute;
          top: 50%;
          margin-top: 1.5em;
          white-space: nowrap;
          left: 50%;
          transform: translate(-50%, 0);
          opacity: 0;
          transition: opacity 0.2s 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); } }

.page__about .about__certifications {
  padding-top: 100px;
  padding-bottom: 100px; }
  .page__about .about__certifications .wysiwyg {
    margin-top: 30px;
    color: #000000;
    max-width: 600px; }
  .page__about .about__certifications .about__certifications__list {
    margin-top: 30px;
    margin-bottom: -30px; }
    @media screen and (min-width: 600px) {
      .page__about .about__certifications .about__certifications__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  .page__about .about__certifications .about__certifications__item {
    background-color: #6d6e71;
    color: #ffffff;
    padding: 30px;
    font-size: 18px;
    line-height: 1.5;
    margin-right: 30px;
    margin-bottom: 30px;
    box-sizing: border-box; }
    .page__about .about__certifications .about__certifications__item:last-child {
      margin-right: 0; }
    @media screen and (max-width: 599px) {
      .page__about .about__certifications .about__certifications__item {
        width: 100%;
        margin-right: 0; } }
    @media screen and (max-width: 1199px) and (min-width: 600px) {
      .page__about .about__certifications .about__certifications__item {
        width: calc((100% - 30px) / 2); }
        .page__about .about__certifications .about__certifications__item:nth-child(2n) {
          margin-right: 0; } }
    @media screen and (min-width: 1200px) {
      .page__about .about__certifications .about__certifications__item {
        -ms-flex: 1;
            flex: 1; } }
  .page__about .about__certifications .about__certifications__item {
    background-color: #9B9A9F; }

.page__activities .hgroup {
  margin-bottom: 20px; }

.page__activities .wysiwyg {
  max-width: 90ch; }

.page__activities .activities,
.page__activities .sectors {
  margin-bottom: 80px; }
  .page__activities .activities .wysiwyg,
  .page__activities .sectors .wysiwyg {
    margin-bottom: 30px; }

.page__activities .atelier {
  background: #f3f3f3;
  padding-block: 100px; }
  .page__activities .atelier .main_link, .page__activities .atelier .error404 .error404__link, .error404 .page__activities .atelier .error404__link {
    margin-top: 20px; }

.page__realisations .realisations__listing .hgroup {
  margin-bottom: 40px; }

.page__realisations .realisations__listing {
  margin-bottom: 100px; }

.page__realisations .listing-realisations__item:hover {
  box-shadow: 0 8px 12px #b3b4b9; }
  .page__realisations .listing-realisations__item:hover .listing-realisations__item__content {
    background-color: rgba(255, 0, 0, 0.7); }
    .page__realisations .listing-realisations__item:hover .listing-realisations__item__content .listing-realisations__item__short_desc {
      margin-top: -0.5em;
      margin-bottom: -0.5em; }

.page__realisations .listing-realisations__item__title {
  margin: 0;
  font-size: 16px;
  height: 75px;
  width: 100%;
  display: table;
  vertical-align: middle; }
  .page__realisations .listing-realisations__item__title span {
    display: table-cell;
    vertical-align: middle; }

.page__realisations .listing-realisations__item__link {
  display: none;
  transition: 0.2s ease-out;
  top: 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #b3b4b9;
  background-size: 100%;
  background-size: cover;
  background-position: center; }

.page__realisations .listing-realisations__item__content {
  font-size: 18px;
  position: absolute;
  bottom: 0;
  height: 75px;
  overflow: hidden;
  box-sizing: border-box;
  padding-left: 1em;
  padding-right: 1em;
  color: #ffffff;
  background-color: #6d6e71;
  width: 100%;
  text-align: center;
  transition: background-color 0.2s ease-out, height 0.2s ease-out, opacity 0.2s ease-out; }

.page__realisations .listing-realisations__item__short_desc {
  padding-left: 1em;
  padding-right: 1em; }
  .page__realisations .listing-realisations__item__short_desc p {
    font-size: 1em;
    margin: 0;
    line-height: 1.2; }
  .page__realisations .listing-realisations__item__short_desc .main_link, .page__realisations .listing-realisations__item__short_desc .error404 .error404__link, .error404 .page__realisations .listing-realisations__item__short_desc .error404__link {
    color: #ffffff; }
    .page__realisations .listing-realisations__item__short_desc .main_link:before, .page__realisations .listing-realisations__item__short_desc .error404 .error404__link:before, .error404 .page__realisations .listing-realisations__item__short_desc .error404__link:before {
      background-color: #ffffff; }

.page__realisations .filters {
  position: relative;
  z-index: 150;
  text-align: center;
  margin-bottom: 40px;
  margin-left: -10px;
  margin-right: -10px; }
  .page__realisations .filters:after {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ffffff;
    opacity: 0.4;
    visibility: hidden; }
  .page__realisations .filters.loading:after {
    visibility: visible; }
  @media screen and (min-width: 451px) {
    .page__realisations .filters {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .page__realisations .filters::-webkit-scrollbar {
    display: none; }
  .page__realisations .filters .filter__field {
    text-align: left;
    position: relative;
    cursor: pointer;
    margin-bottom: 40px;
    margin-left: 10px;
    margin-right: 10px;
    min-width: 280px; }
    .page__realisations .filters .filter__field .dk-selected {
      transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .page__realisations .filters .filter__field select,
    .page__realisations .filters .filter__field button,
    .page__realisations .filters .filter__field .dk-selected {
      -moz-appearance: none;
      appearance: none;
      padding: 15px 30px;
      border-radius: 0;
      display: block;
      line-height: 1; }
    .page__realisations .filters .filter__field select,
    .page__realisations .filters .filter__field button,
    .page__realisations .filters .filter__field .dk-select {
      display: block;
      width: 100%;
      text-align: left;
      border: 2px solid #b3b4b9;
      color: #b3b4b9;
      background-color: transparent;
      transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), border-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      font-weight: bold; }
      .active .page__realisations .filters .filter__field select, .active
      .page__realisations .filters .filter__field button, .active
      .page__realisations .filters .filter__field .dk-select {
        color: #ff0000;
        border-color: #ff0000; }
        .active .page__realisations .filters .filter__field select:hover, .active
        .page__realisations .filters .filter__field button:hover, .active
        .page__realisations .filters .filter__field .dk-select:hover {
          border-color: #ff0000; }
      .page__realisations .filters .filter__field select:hover,
      .page__realisations .filters .filter__field button:hover,
      .page__realisations .filters .filter__field .dk-select:hover {
        text-decoration: none;
        border-color: #1b1f2e;
        color: #1b1f2e; }
        .page__realisations .filters .filter__field select:hover .dk-selected,
        .page__realisations .filters .filter__field button:hover .dk-selected,
        .page__realisations .filters .filter__field .dk-select:hover .dk-selected {
          color: #1b1f2e; }
          .page__realisations .filters .filter__field select:hover .dk-selected:before,
          .page__realisations .filters .filter__field button:hover .dk-selected:before,
          .page__realisations .filters .filter__field .dk-select:hover .dk-selected:before {
            color: #1b1f2e; }
    @media screen and (min-width: 451px) {
      .page__realisations .filters .filter__field {
        -ms-flex-positive: 1;
            flex-grow: 1;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        margin-bottom: 10px; } }
    .page__realisations .filters .filter__field:first-child {
      min-width: 80px; }
      @media screen and (max-width: 450px) {
        .page__realisations .filters .filter__field:first-child {
          display: inline-block; } }
      @media screen and (min-width: 451px) {
        .page__realisations .filters .filter__field:first-child {
          -ms-flex-positive: 0;
              flex-grow: 0; } }
    .page__realisations .filters .filter__field.active .dk-select {
      border-color: #ff0000; }
    .page__realisations .filters .filter__field.active .dk-selected {
      color: #ff0000; }
      .page__realisations .filters .filter__field.active .dk-selected:before {
        color: #ff0000; }
  .page__realisations .filters .filter__field__label {
    position: absolute;
    left: 0;
    bottom: 100%;
    margin-bottom: 3px;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px; }

.page__innovation .tabs {
  margin-bottom: 40px; }
  .page__innovation .tabs__list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    .page__innovation .tabs__list::-webkit-scrollbar {
      display: none; }

.page__innovation .heading {
  margin-bottom: 0; }

.page__innovation .hgroup {
  margin-bottom: 30px; }

.page__innovation .innovation__section {
  padding-block: 100px; }
  .page__innovation .innovation__section__image {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
    .page__innovation .innovation__section__image:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 85.36585%; }
  .page__innovation .innovation__section:nth-child(odd) {
    background-color: #f3f3f3; }

.page__join_us .join_us__container {
  margin-top: 50px;
  margin-bottom: 50px; }

.page__join_us .tabs {
  margin-bottom: 30px; }
  .page__join_us .tabs__list__inner {
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .page__join_us .tabs__item {
    margin-bottom: 15px; }

.page__join_us .join_us__content .wysiwyg {
  max-width: 720px; }

.page__join_us .join_us__content .widelinks {
  margin-top: 60px; }

.page__join_us .join_us__content .form-container {
  max-width: 720px;
  margin: 100px auto; }
  @media (max-width: 768px) {
    .page__join_us .join_us__content .form-container {
      margin: 50px auto; } }
  @media (max-width: 480px) {
    .page__join_us .join_us__content .form-container {
      margin: 30px auto; } }
  .page__join_us .join_us__content .form-container .form-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center; }
    @media (max-width: 768px) {
      .page__join_us .join_us__content .form-container .form-title {
        font-size: 28px; } }

.page__join_us .join_us__offers {
  margin-top: 30px; }
  .page__join_us .join_us__offers__item {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px; }

.page__join_us .join_us__links {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-block: 40px; }
  @media (max-width: 1200px) {
    .page__join_us .join_us__links {
      -ms-grid-columns: (1fr)[2];
          grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 768px) {
    .page__join_us .join_us__links {
      -ms-grid-columns: 1fr;
          grid-template-columns: 1fr; } }

.page__join_us .join_us__link {
  position: relative;
  border-radius: 0;
  padding: 0;
  background: none;
  overflow: hidden;
  box-shadow: none;
  transition: transform 0.2s; }
  .page__join_us .join_us__link:hover {
    transform: translateY(-4px); }
  .page__join_us .join_us__link .join_us__link__img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    margin: 0; }
  .page__join_us .join_us__link .join_us__link__title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.8);
    padding: 18px 25px;
    font-size: 22px;
    line-height: 26px;
    font-weight: 700;
    color: #000; }
  .page__join_us .join_us__link .join_us__link__url {
    display: none; }

.page__work_at .hgroup {
  margin-bottom: 40px; }

.page__work_at .tabs {
  margin-bottom: 60px; }

.page__work_at .work_at__why {
  text-align: center;
  margin-bottom: 100px; }
  @media screen and (max-width: 700px), screen and (max-height: 700px) {
    .page__work_at .work_at__why {
      margin-bottom: 50px; } }
  .page__work_at .work_at__why__image {
    position: absolute;
    top: 0;
    left: 0;
    right: calc((100% + 100px) / 2);
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media screen and (max-width: 1199px) {
      .page__work_at .work_at__why__image {
        position: relative;
        position: relative;
        /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
        left: 0;
        max-width: 600px;
        margin: auto;
        margin-bottom: 50px; }
        .page__work_at .work_at__why__image:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 66.66667%; } }
    @media screen and (max-width: 1199px) {
      .page__work_at .work_at__why__image {
        margin-left: 1.875em;
        margin-right: 1.875em; } }
    @media screen and (max-width: 500px) {
      .page__work_at .work_at__why__image {
        margin-left: 1em;
        margin-right: 1em; } }

.page__work_at .work_at__interviews {
  background-color: #f3f3f3;
  padding-top: 100px;
  padding-bottom: 100px;
  margin-bottom: 100px; }
  @media screen and (max-width: 700px), screen and (max-height: 700px) {
    .page__work_at .work_at__interviews {
      margin-bottom: 50px;
      padding-top: 50px;
      padding-bottom: 50px; } }
  .page__work_at .work_at__interviews .hgroup {
    text-align: center; }
    .page__work_at .work_at__interviews .hgroup__title {
      margin-bottom: 20px; }
    .page__work_at .work_at__interviews .hgroup .wysiwyg {
      max-width: 90ch;
      margin: 0 auto; }
  .page__work_at .work_at__interviews__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  @media screen and (min-width: 1001px) {
    .page__work_at .work_at__interviews__item {
      width: calc((100% - 60px) / 3);
      margin-right: 30px;
      margin-bottom: 40px; }
      .page__work_at .work_at__interviews__item:nth-child(3n) {
        margin-right: 0; } }
  @media screen and (max-width: 1000px) and (min-width: 751px) {
    .page__work_at .work_at__interviews__item {
      width: calc((100% - 30px) / 2);
      margin-right: 30px;
      margin-bottom: 40px; }
      .page__work_at .work_at__interviews__item:nth-child(2n) {
        margin-right: 0; } }
  @media screen and (max-width: 750px) {
    .page__work_at .work_at__interviews__item {
      width: 100%;
      margin-bottom: 40px; } }
  .page__work_at .work_at__interviews__link {
    color: inherit;
    text-decoration: none; }
    .page__work_at .work_at__interviews__link:hover .icon, .page__work_at .work_at__interviews__link:hover .breadcrumb a, .breadcrumb .page__work_at .work_at__interviews__link:hover a, .page__work_at .work_at__interviews__link:hover .wysiwyg blockquote, .wysiwyg .page__work_at .work_at__interviews__link:hover blockquote, .page__work_at .work_at__interviews__link:hover .square__button--prev, .page__work_at .work_at__interviews__link:hover .block__textslider__slider .arrow--left, .block__textslider__slider .page__work_at .work_at__interviews__link:hover .arrow--left, .page__work_at .work_at__interviews__link:hover .square__button--next, .page__work_at .work_at__interviews__link:hover .block__textslider__slider .arrow--right, .block__textslider__slider .page__work_at .work_at__interviews__link:hover .arrow--right, .page__work_at .work_at__interviews__link:hover body.mobile .field--select, body.mobile .page__work_at .work_at__interviews__link:hover .field--select, .page__work_at .work_at__interviews__link:hover body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .page__work_at .work_at__interviews__link:hover .nf-field-element, .page__work_at .work_at__interviews__link:hover body.tablet .field--select, body.tablet .page__work_at .work_at__interviews__link:hover .field--select, .page__work_at .work_at__interviews__link:hover body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .page__work_at .work_at__interviews__link:hover .nf-field-element, .page__work_at .work_at__interviews__link:hover .nf-response-msg, .page__work_at .work_at__interviews__link:hover .dk-selected, .page__work_at .work_at__interviews__link:hover .tabs__arrow, .page__work_at .work_at__interviews__link:hover .pagination .prev, .pagination .page__work_at .work_at__interviews__link:hover .prev, .page__work_at .work_at__interviews__link:hover .pagination .next, .pagination .page__work_at .work_at__interviews__link:hover .next, .page__work_at .work_at__interviews__link:hover .citation__text, .page__work_at .work_at__interviews__link:focus .icon, .page__work_at .work_at__interviews__link:focus .breadcrumb a, .breadcrumb .page__work_at .work_at__interviews__link:focus a, .page__work_at .work_at__interviews__link:focus .wysiwyg blockquote, .wysiwyg .page__work_at .work_at__interviews__link:focus blockquote, .page__work_at .work_at__interviews__link:focus .square__button--prev, .page__work_at .work_at__interviews__link:focus .block__textslider__slider .arrow--left, .block__textslider__slider .page__work_at .work_at__interviews__link:focus .arrow--left, .page__work_at .work_at__interviews__link:focus .square__button--next, .page__work_at .work_at__interviews__link:focus .block__textslider__slider .arrow--right, .block__textslider__slider .page__work_at .work_at__interviews__link:focus .arrow--right, .page__work_at .work_at__interviews__link:focus body.mobile .field--select, body.mobile .page__work_at .work_at__interviews__link:focus .field--select, .page__work_at .work_at__interviews__link:focus body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .page__work_at .work_at__interviews__link:focus .nf-field-element, .page__work_at .work_at__interviews__link:focus body.tablet .field--select, body.tablet .page__work_at .work_at__interviews__link:focus .field--select, .page__work_at .work_at__interviews__link:focus body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .page__work_at .work_at__interviews__link:focus .nf-field-element, .page__work_at .work_at__interviews__link:focus .nf-response-msg, .page__work_at .work_at__interviews__link:focus .dk-selected, .page__work_at .work_at__interviews__link:focus .tabs__arrow, .page__work_at .work_at__interviews__link:focus .pagination .prev, .pagination .page__work_at .work_at__interviews__link:focus .prev, .page__work_at .work_at__interviews__link:focus .pagination .next, .pagination .page__work_at .work_at__interviews__link:focus .next, .page__work_at .work_at__interviews__link:focus .citation__text {
      color: #ff0000; }
    .page__work_at .work_at__interviews__link figure {
      display: block;
      position: relative;
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      width: 100%;
      background-size: cover;
      background-position: center;
      background-color: #b3b4b9;
      margin-bottom: 20px; }
      .page__work_at .work_at__interviews__link figure:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 66.66667%; }
      .page__work_at .work_at__interviews__link figure:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000000;
        opacity: 0.4; }
      .page__work_at .work_at__interviews__link figure .icon, .page__work_at .work_at__interviews__link figure .breadcrumb a, .breadcrumb .page__work_at .work_at__interviews__link figure a, .page__work_at .work_at__interviews__link figure .wysiwyg blockquote, .wysiwyg .page__work_at .work_at__interviews__link figure blockquote, .page__work_at .work_at__interviews__link figure .square__button--prev, .page__work_at .work_at__interviews__link figure .block__textslider__slider .arrow--left, .block__textslider__slider .page__work_at .work_at__interviews__link figure .arrow--left, .page__work_at .work_at__interviews__link figure .square__button--next, .page__work_at .work_at__interviews__link figure .block__textslider__slider .arrow--right, .block__textslider__slider .page__work_at .work_at__interviews__link figure .arrow--right, .page__work_at .work_at__interviews__link figure body.mobile .field--select, body.mobile .page__work_at .work_at__interviews__link figure .field--select, .page__work_at .work_at__interviews__link figure body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .page__work_at .work_at__interviews__link figure .nf-field-element, .page__work_at .work_at__interviews__link figure body.tablet .field--select, body.tablet .page__work_at .work_at__interviews__link figure .field--select, .page__work_at .work_at__interviews__link figure body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .page__work_at .work_at__interviews__link figure .nf-field-element, .page__work_at .work_at__interviews__link figure .nf-response-msg, .page__work_at .work_at__interviews__link figure .dk-selected, .page__work_at .work_at__interviews__link figure .tabs__arrow, .page__work_at .work_at__interviews__link figure .pagination .prev, .pagination .page__work_at .work_at__interviews__link figure .prev, .page__work_at .work_at__interviews__link figure .pagination .next, .pagination .page__work_at .work_at__interviews__link figure .next, .page__work_at .work_at__interviews__link figure .citation__text {
        position: absolute;
        z-index: 10;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 60px;
        margin-bottom: 30px;
        color: #ffffff;
        transition: color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
        @media screen and (max-width: 500px) {
          .page__work_at .work_at__interviews__link figure .icon, .page__work_at .work_at__interviews__link figure .breadcrumb a, .breadcrumb .page__work_at .work_at__interviews__link figure a, .page__work_at .work_at__interviews__link figure .wysiwyg blockquote, .wysiwyg .page__work_at .work_at__interviews__link figure blockquote, .page__work_at .work_at__interviews__link figure .square__button--prev, .page__work_at .work_at__interviews__link figure .block__textslider__slider .arrow--left, .block__textslider__slider .page__work_at .work_at__interviews__link figure .arrow--left, .page__work_at .work_at__interviews__link figure .square__button--next, .page__work_at .work_at__interviews__link figure .block__textslider__slider .arrow--right, .block__textslider__slider .page__work_at .work_at__interviews__link figure .arrow--right, .page__work_at .work_at__interviews__link figure body.mobile .field--select, body.mobile .page__work_at .work_at__interviews__link figure .field--select, .page__work_at .work_at__interviews__link figure body.mobile .list-select-wrap .nf-field-element, body.mobile .list-select-wrap .page__work_at .work_at__interviews__link figure .nf-field-element, .page__work_at .work_at__interviews__link figure body.tablet .field--select, body.tablet .page__work_at .work_at__interviews__link figure .field--select, .page__work_at .work_at__interviews__link figure body.tablet .list-select-wrap .nf-field-element, body.tablet .list-select-wrap .page__work_at .work_at__interviews__link figure .nf-field-element, .page__work_at .work_at__interviews__link figure .nf-response-msg, .page__work_at .work_at__interviews__link figure .dk-selected, .page__work_at .work_at__interviews__link figure .tabs__arrow, .page__work_at .work_at__interviews__link figure .pagination .prev, .pagination .page__work_at .work_at__interviews__link figure .prev, .page__work_at .work_at__interviews__link figure .pagination .next, .pagination .page__work_at .work_at__interviews__link figure .next, .page__work_at .work_at__interviews__link figure .citation__text {
            font-size: 30px;
            margin-bottom: 15px; } }
  .page__work_at .work_at__interviews__item__name {
    margin: 0;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase; }
  .page__work_at .work_at__interviews__item__role {
    font-size: 16px;
    font-weight: 400;
    color: #8F8F8F; }

.page__work_at .work_at__academy {
  margin-bottom: 100px; }
  @media screen and (max-width: 700px), screen and (max-height: 700px) {
    .page__work_at .work_at__academy {
      margin-bottom: 50px; } }

.page__work_at .work_at__dna {
  background-color: #f3f3f3;
  padding-top: 100px;
  padding-bottom: 100px;
  margin-bottom: 100px; }
  @media screen and (max-width: 700px), screen and (max-height: 700px) {
    .page__work_at .work_at__dna {
      margin-bottom: 50px;
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media screen and (max-width: 700px) {
    .page__work_at .work_at__dna .hgroup__title {
      text-align: center; } }
  @media screen and (min-width: 701px) {
    .page__work_at .work_at__dna__list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (max-width: 1000px) and (min-width: 701px) {
    .page__work_at .work_at__dna__list {
      -ms-flex-pack: center;
          justify-content: center;
      margin-bottom: -30px; } }
  .page__work_at .work_at__dna__item {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    position: relative; }
    .page__work_at .work_at__dna__item:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 100%; }
    @media screen and (min-width: 1001px) {
      .page__work_at .work_at__dna__item {
        width: calc((100% - 60px) / 3); } }
    @media screen and (max-width: 1000px) and (min-width: 701px) {
      .page__work_at .work_at__dna__item {
        width: calc((100% - 30px) / 2);
        margin-right: 30px;
        margin-bottom: 30px; }
        .page__work_at .work_at__dna__item:nth-child(2n) {
          margin-right: 0; } }
    @media screen and (max-width: 700px) {
      .page__work_at .work_at__dna__item {
        width: 100%;
        max-width: 400px;
        margin: auto;
        margin-bottom: 30px; }
        .page__work_at .work_at__dna__item:last-child {
          margin-bottom: 0; } }
  .page__work_at .work_at__dna__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    overflow: hidden;
    color: #ffffff; }
    .page__work_at .work_at__dna__content:hover .maintitle {
      min-height: 0px; }
    .page__work_at .work_at__dna__content .maintitle {
      min-height: 100%;
      padding: 15px;
      box-sizing: border-box;
      font-size: 30px;
      text-align: left;
      margin: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: end;
          align-items: flex-end;
      transition: min-height 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
    .page__work_at .work_at__dna__content .wysiwyg {
      position: relative;
      z-index: 10;
      font-size: 14px;
      line-height: 1.4;
      padding: 15px;
      box-sizing: border-box; }
  .page__work_at .work_at__dna__image {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center; }

.page__work_at .work_at__gallery {
  margin-bottom: 100px; }
  @media screen and (max-width: 700px), screen and (max-height: 700px) {
    .page__work_at .work_at__gallery {
      margin-bottom: 50px; } }
  .page__work_at .work_at__gallery__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: -30px; }
  .page__work_at .work_at__gallery__item {
    position: relative;
    /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
    margin-bottom: 30px;
    background-size: cover;
    background-position: center;
    background-color: #b3b4b9; }
    .page__work_at .work_at__gallery__item:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 100%; }
    @media screen and (min-width: 1101px) {
      .page__work_at .work_at__gallery__item {
        width: calc((100% - 60px) / 3);
        margin-right: 30px; }
        .page__work_at .work_at__gallery__item:nth-child(3n) {
          margin-right: 0; } }
    @media screen and (max-width: 1100px) and (min-width: 761px) {
      .page__work_at .work_at__gallery__item {
        width: calc((100% - 30px) / 2);
        margin-right: 30px; }
        .page__work_at .work_at__gallery__item:nth-child(2n) {
          margin-right: 0; } }
    @media screen and (max-width: 760px) {
      .page__work_at .work_at__gallery__item {
        width: 100%; } }

#waarom {
  padding-bottom: 100px; }

#our_values {
  background: #f3f3f3;
  padding-block: 100px; }

.page__news .news__listing .hgroup {
  margin-bottom: 40px; }

.page__news .news__listing {
  margin-bottom: 100px; }

.page__news .news__filters {
  float: right; }

.page__news .filter__buttons__container {
  position: relative;
  margin-bottom: 50px; }
  .page__news .filter__buttons__container .overflow__gradiant {
    position: absolute;
    z-index: 5;
    height: 100%;
    width: 50px;
    top: 0;
    bottom: 0;
    display: none; }
    .page__news .filter__buttons__container .overflow__gradiant--visible {
      display: block; }
    .page__news .filter__buttons__container .overflow__gradiant--prev {
      left: 0;
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
      background-repeat: repeat-x;
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33000000', endColorstr='#00000000', GradientType=1); }
    .page__news .filter__buttons__container .overflow__gradiant--next {
      right: 0;
      background-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.2) 100%);
      background-repeat: repeat-x;
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#33000000', GradientType=1); }
  .page__news .filter__buttons__container .btn__overflow {
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    outline: none;
    display: none;
    width: 40px;
    height: 40px;
    color: #ff0000;
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #ff0000;
    line-height: 40px;
    border-radius: 50%;
    z-index: 10; }
    .page__news .filter__buttons__container .btn__overflow--visible {
      display: block; }
    .page__news .filter__buttons__container .btn__overflow--prev {
      left: 0; }
    .page__news .filter__buttons__container .btn__overflow--next {
      right: 0; }
  .page__news .filter__buttons__container .btn__overflow--prev {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(-50%, -50%); }
  .page__news .filter__buttons__container .btn__overflow--next {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(50%, -50%); }

.page__news .filter__buttons {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .page__news .filter__buttons::-webkit-scrollbar {
    display: none; }
  .page__news .filter__buttons li {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 10px;
    margin-right: 10px; }
    .page__news .filter__buttons li:first-child {
      margin-left: 0; }
    .page__news .filter__buttons li:last-child {
      margin-right: 0; }
    .page__news .filter__buttons li.active a {
      color: #ff0000;
      border-color: #ff0000; }
      .page__news .filter__buttons li.active a:hover {
        border-color: #ff0000; }
    .page__news .filter__buttons li a {
      padding: 20px;
      display: block;
      text-align: center;
      border: 2px solid #b3b4b9;
      color: #1b1f2e;
      transition: background-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715), border-color 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
      font-weight: bold; }
      .page__news .filter__buttons li a:hover {
        text-decoration: none;
        border-color: #1b1f2e; }

.contact__links .hgroup {
  margin-bottom: 30px; }

@media screen and (min-width: 701px) {
  .contact__links__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (max-width: 1000px) and (min-width: 701px) {
  .contact__links__list {
    margin-bottom: -30px; } }

@media screen and (min-width: 1001px) {
  .contact__links__item {
    width: calc( (100% - 60px) / 3);
    margin-right: 30px; }
    .contact__links__item:last-child {
      margin-right: 0; } }

@media screen and (max-width: 1000px) and (min-width: 701px) {
  .contact__links__item {
    width: calc( (100% - 30px) / 2);
    margin-right: 30px;
    margin-bottom: 30px; }
    .contact__links__item:nth-child(2n) {
      margin-right: 0; } }

@media screen and (max-width: 700px) {
  .contact__links__item {
    width: 100%;
    max-width: 400px;
    margin: auto;
    margin-bottom: 30px; }
    .contact__links__item:last-child {
      margin-bottom: 0; } }

.contact__links__link {
  display: block;
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-color: #b3b4b9;
  background-size: cover;
  background-position: center; }
  .contact__links__link:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 100%; }
  @media screen and (max-width: 700px) {
    .contact__links__link {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */ }
      .contact__links__link:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 50%; } }
  .contact__links__link span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    text-align: center;
    transform: translate(-50%, -50%);
    font-size: 30px;
    font-weight: 700;
    color: #ffffff; }

.page__default > .center, body .page__default > .center--small, body .page__default > .center, body .page__single_realisations .page__default > .realisations__electric_setup__listing.one_col, .page__single_realisations body .page__default > .realisations__electric_setup__listing.one_col, .mobile_menu .menu .menu-item .page__default > a {
  margin-bottom: 50px; }

.page__single_activities .s_activities__intro {
  margin-bottom: 60px; }
  .page__single_activities .s_activities__intro .wysiwyg {
    max-width: 930px; }

.page__single_activities .single__activities__img {
  position: relative;
  /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
  background-size: cover;
  background-position: center; }
  .page__single_activities .single__activities__img:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 76.92308%; }

.page__single_activities .single__activities__realisations {
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #E9E9E9;
  margin-bottom: 100px; }
  .page__single_activities .single__activities__realisations .hgroup {
    margin-bottom: 30px; }

@media screen and (max-width: 1200px) {
  .page__single_activities .single__activities__references__list {
    margin-top: 50px; } }

.page__single_activities .single__activities__references__list li {
  margin-bottom: 15px; }

.page__single_activities .tabs {
  margin-bottom: -15px; }

.page__single_activities .hgroup {
  margin-top: 50px;
  margin-bottom: 15px; }

.page__single_activities .listing-realisations__item:hover {
  box-shadow: 0 8px 12px #b3b4b9; }
  .page__single_activities .listing-realisations__item:hover .listing-realisations__item__content {
    background-color: rgba(255, 0, 0, 0.7); }
    .page__single_activities .listing-realisations__item:hover .listing-realisations__item__content .listing-realisations__item__short_desc {
      margin-top: -0.5em;
      margin-bottom: -0.5em; }

.page__single_activities .listing-realisations__item__title {
  margin: 0;
  font-size: 16px;
  height: 75px;
  width: 100%;
  display: table;
  vertical-align: middle; }
  .page__single_activities .listing-realisations__item__title span {
    display: table-cell;
    vertical-align: middle; }

.page__single_activities .listing-realisations__item__link {
  display: none;
  transition: 0.2s ease-out;
  top: 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #b3b4b9;
  background-size: 100%;
  background-size: cover;
  background-position: center; }

.page__single_activities .listing-realisations__item__content {
  font-size: 18px;
  position: absolute;
  bottom: 0;
  height: 75px;
  overflow: hidden;
  box-sizing: border-box;
  padding-left: 1em;
  padding-right: 1em;
  color: #ffffff;
  background-color: #6d6e71;
  width: 100%;
  text-align: center;
  transition: background-color 0.2s ease-out, height 0.2s ease-out, opacity 0.2s ease-out; }

.page__single_activities .listing-realisations__item__short_desc {
  padding-left: 1em;
  padding-right: 1em; }
  .page__single_activities .listing-realisations__item__short_desc p {
    font-size: 1em;
    margin: 0;
    line-height: 1.2; }
  .page__single_activities .listing-realisations__item__short_desc .main_link, .page__single_activities .listing-realisations__item__short_desc .error404 .error404__link, .error404 .page__single_activities .listing-realisations__item__short_desc .error404__link {
    color: #ffffff; }
    .page__single_activities .listing-realisations__item__short_desc .main_link:before, .page__single_activities .listing-realisations__item__short_desc .error404 .error404__link:before, .error404 .page__single_activities .listing-realisations__item__short_desc .error404__link:before {
      background-color: #ffffff; }

.page__single_activities .activities_content_block {
  padding-block: 100px;
  overflow: hidden; }
  .page__single_activities .activities_content_block:nth-child(odd) {
    background: #f3f3f3; }
  .page__single_activities .activities_content_block .main_link, .page__single_activities .activities_content_block .error404 .error404__link, .error404 .page__single_activities .activities_content_block .error404__link {
    margin-top: 20px; }
  .page__single_activities .activities_content_block .block_imagetext {
    gap: 100px; }
  .page__single_activities .activities_content_block .block_imagetext__text {
    margin-bottom: 20px;
    position: relative;
    z-index: 2; }
  .page__single_activities .activities_content_block .block_imagetext__image {
    background-color: transparent; }
    .page__single_activities .activities_content_block .block_imagetext__image.block_imagetext__image--slider.block__textslider__slider {
      position: relative; }
      .page__single_activities .activities_content_block .block_imagetext__image.block_imagetext__image--slider.block__textslider__slider::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 100%;
        left: -100vw;
        background-color: #f3f3f3;
        z-index: 1; }
  .page__single_activities .activities_content_block .reverse .block_imagetext__image.block_imagetext__image--slider.block__textslider__slider::after {
    right: -100vw !important;
    left: 100% !important;
    background: white !important; }
  @media screen and (max-width: 1350px) and (min-width: 1201px) {
    .page__single_activities .activities_content_block .block_imagetext__image {
      margin-left: 50px;
      margin-right: 0; }
    .page__single_activities .activities_content_block .reverse .block_imagetext__image {
      margin-left: 0;
      margin-right: 50px; } }
  @media screen and (min-width: 1351px) {
    .page__single_activities .activities_content_block .block_imagetext__image {
      margin-right: 0; }
    .page__single_activities .activities_content_block .reverse .block_imagetext__image {
      margin-left: 0;
      margin-right: 100px; } }

.page__single_activities .single__activities__other_activities {
  margin-block: 100px 130px; }
  .page__single_activities .single__activities__other_activities .hgroup {
    margin-bottom: 40px; }

.page__single_realisations .realisations__about {
  text-align: center;
  padding-bottom: 50px; }
  .page__single_realisations .realisations__about .hgroup {
    margin-bottom: 50px; }
  .page__single_realisations .realisations__about__text {
    max-width: 400px;
    margin: auto;
    margin-bottom: 50px; }
  .page__single_realisations .realisations__about .block__keyfigures__listing {
    margin-bottom: -50px; }

.page__single_realisations .realisations__gallery {
  text-align: center;
  padding-top: 100px;
  padding-bottom: 50px;
  background-color: #f3f3f3; }
  .page__single_realisations .realisations__gallery .hgroup {
    margin-bottom: 50px; }

.page__single_realisations .realisations__electric_setup {
  padding-top: 50px;
  padding-bottom: 50px; }
  .page__single_realisations .realisations__electric_setup .hgroup {
    margin-bottom: 50px; }
  @media screen and (min-width: 701px) {
    .page__single_realisations .realisations__electric_setup__listing.two_col {
      column-count: 2;
      column-gap: 40px; }
      .page__single_realisations .realisations__electric_setup__listing.two_col,
      .page__single_realisations .realisations__electric_setup__listing.two_col p {
        break-inside: avoid;
        orphans: 2;
        widows: 2; } }
  .page__single_realisations .realisations__electric_setup__listing ul > li:before {
    background-color: #ff0000;
    border-radius: 0; }

.page__single_realisations .realisations__related_activities {
  background-color: #f3f3f3;
  padding-top: 50px;
  padding-bottom: 42px; }
  .page__single_realisations .realisations__related_activities .hgroup {
    margin-bottom: 50px; }

.page__single_news .heading {
  margin-bottom: 0; }

.page__single_news .news__leader {
  padding-top: 60px;
  padding-bottom: 60px; }
  .page__single_news .news__leader__header {
    margin-bottom: 15px; }
  .page__single_news .news__leader__date {
    display: inline-block;
    text-transform: uppercase;
    color: #8F8F8F;
    font-size: 13px;
    font-weight: 700;
    margin-right: 10px; }
  .page__single_news .news__leader__categories {
    margin-bottom: -10px;
    display: inline-block; }
  .page__single_news .news__leader__category {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #8F8F8F;
    background-color: #f3f3f3;
    padding: 10px;
    padding-bottom: 7px;
    margin-right: 10px;
    margin-bottom: 10px; }
  @media screen and (min-width: 801px) {
    .page__single_news .news__leader__center {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
      -ms-flex-align: center;
          align-items: center; } }
  .page__single_news .news__leader__text {
    text-align: center; }
    .page__single_news .news__leader__text .hgroup {
      margin-bottom: 20px; }
    @media screen and (min-width: 801px) {
      .page__single_news .news__leader__text {
        text-align: left;
        -ms-flex-positive: 0;
            flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        width: calc( (100% - 80px) / 2);
        margin-right: 80px; } }
  @media screen and (min-width: 801px) {
    .page__single_news .news__leader__image {
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: calc( (100% - 80px) / 2); } }
  @media screen and (max-width: 800px) {
    .page__single_news .news__leader__image {
      position: relative;
      /* > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  } */
      width: 100%;
      max-width: 450px;
      margin: auto;
      margin-bottom: 30px; }
      .page__single_news .news__leader__image:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 80%; } }
  .page__single_news .news__leader__share {
    margin-top: 20px; }

.page__single_news .news__content {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f3f3f3; }

.page__single_job_offers .heading {
  margin-bottom: 0; }

.job_offers__content {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f3f3f3;
  overflow: hidden; }
  @media screen and (min-width: 1251px) {
    .job_offers__content__inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; } }
  .job_offers__content .job_offers__text {
    -ms-flex: 1;
        flex: 1; }
  .job_offers__content .job_offers__form {
    padding: 40px;
    background-color: #b3b4b9;
    width: 100%; }
    @media screen and (min-width: 1251px) {
      .job_offers__content .job_offers__form {
        max-width: 450px;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        margin-left: 60px; } }
    @media screen and (max-width: 1250px) {
      .job_offers__content .job_offers__form {
        max-width: 600px;
        margin: auto;
        margin-top: 60px; } }
    @media screen and (max-width: 450px) {
      .job_offers__content .job_offers__form {
        padding: 15px; } }
  .job_offers__content .nf-field-label {
    display: none; }

.page__sitemap .center, .page__sitemap body .center--small, body .page__sitemap .center--small, .page__sitemap body .page__single_realisations .realisations__electric_setup__listing.one_col, body .page__single_realisations .page__sitemap .realisations__electric_setup__listing.one_col, .page__sitemap .page__single_realisations body .realisations__electric_setup__listing.one_col, .page__single_realisations body .page__sitemap .realisations__electric_setup__listing.one_col, .page__sitemap .mobile_menu .menu .menu-item a, .mobile_menu .menu .menu-item .page__sitemap a {
  max-width: 900px; }

.page__sitemap .sitemap__menu a {
  color: #000000; }

@media screen and (min-width: 850px) {
  .page__sitemap .sitemap__menu--main {
    float: left; } }

.page__sitemap .sitemap__menu--footer_nav {
  padding-bottom: 70px;
  margin-bottom: 0;
  position: relative; }
  .page__sitemap .sitemap__menu--footer_nav:after {
    content: '';
    display: block;
    width: 70px;
    height: 1px;
    background-color: #000000;
    opacity: 0.5;
    position: absolute;
    bottom: 0;
    left: 20px; }

.page__sitemap .sitemap__menu--footer_links {
  padding-top: 70px; }
  .page__sitemap .sitemap__menu--footer_links a {
    color: #ff0000; }

.page__sitemap ul:not(.sub-menu) > li {
  margin-bottom: 40px; }
  .page__sitemap ul:not(.sub-menu) > li:before {
    display: none; }
  .page__sitemap ul:not(.sub-menu) > li a {
    font-size: 22px;
    font-weight: 700; }
  .page__sitemap ul:not(.sub-menu) > li:last-child {
    margin-bottom: 0; }

.page__sitemap .sub-menu {
  margin-top: 40px;
  margin-left: 20px; }
  .page__sitemap .sub-menu .menu-item a {
    font-size: 16px;
    font-weight: 400; }

@media screen and (min-width: 850px) {
  .page__sitemap .right_group {
    float: right; } }

.error404 {
  background-color: #ffffff;
  background: radial-gradient(ellipse at center, #ffffff 0%, #efefef 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color__white', endColorstr='#efefef',GradientType=1 ); }
  .error404 .container .content {
    height: 100%; }
  .error404 .footer, .error404 .header {
    display: none; }
  .error404 .error404__group {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
  .error404 .mainTitle__first {
    font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
    color: #000000;
    position: absolute;
    top: -1em;
    left: 1.6em;
    font-size: 1.5em; }
  .error404 .mainTitle__second {
    font-family: "Avenir LT Std", Avenir, Futura, "Trebuchet MS", Arial, sans-serif;
    font-size: 12em;
    font-weight: bold;
    color: #ff0000;
    line-height: 1;
    overflow: hidden;
    display: block; }
    .error404 .mainTitle__second span {
      display: inline-block; }
  .error404 .error404__link {
    font-size: 1.2em; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5vcm1hbGl6ZS1zY3NzL19ub3JtYWxpemUuc2NzcyIsInN0eWxlcy5jc3MiLCJzaGFyZWQvX3ZhcmlhYmxlcy5zY3NzIiwic2hhcmVkL19mb250cy5zY3NzIiwic2hhcmVkL19pY29ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19rZXlmcmFtZXMuc2NzcyIsInNoYXJlZC9fYW5pbWF0aW9ucy5zY3NzIiwic2hhcmVkL19taXhpbnMuc2NzcyIsIm1vZHVsZXMvX2JyZWFkY3J1bWIuc2NzcyIsIm1vZHVsZXMvX2hlYWRpbmcuc2NzcyIsIm1vZHVsZXMvX3d5c3l3aWcuc2NzcyIsIm1vZHVsZXMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19saWdodGJveC5zY3NzIiwibW9kdWxlcy9fZHJvcGtpY2suc2NzcyIsImdsb2JhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsInVpLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19pc29sYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2VuZC5zY3NzIiwicGFydGlhbHMvaGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9mb290ZXIuc2NzcyIsInBhcnRpYWxzL3NlYXJjaGJhci5zY3NzIiwicGFydHMvaG9tZS5zY3NzIiwicGFydHMvYWJvdXQuc2NzcyIsInBhcnRzL2FjdGl2aXRpZXMuc2NzcyIsInBhcnRzL3JlYWxpc2F0aW9ucy5zY3NzIiwicGFydHMvaW5ub3ZhdGlvbi5zY3NzIiwicGFydHMvam9pbl91cy5zY3NzIiwicGFydHMvd29ya19hdC5zY3NzIiwicGFydHMvbmV3cy5zY3NzIiwicGFydHMvY29udGFjdC5zY3NzIiwicGFydHMvcGFnZS5zY3NzIiwicGFydHMvc2luZ2xlX2FjdGl2aXRpZXMuc2NzcyIsInBhcnRzL3NpbmdsZV9yZWFsaXNhdGlvbnMuc2NzcyIsInBhcnRzL3NpbmdsZV9uZXdzLnNjc3MiLCJwYXJ0cy9zaW5nbGVfam9iX29mZmVycy5zY3NzIiwicGFydHMvc2l0ZW1hcC5zY3NzIiwicGFydHMvZXJyb3I0MDQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QUFFSDtFQUNFLGtCQUFrQjtFQUFFLE9BQU87RUFDM0IsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFlLEVBQ2hCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUNsQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7OztFQUVPLE9BQU87RUFDWixlQUFlLEVBQ2hCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLFVBQVU7RUFBRSxPQUFPO0VBQ25CLGtCQUFrQjtFQUFFLE9BQU8sRUFDNUI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxrQ0FBa0M7RUFBRSxPQUFPO0VBQzNDLGVBQWU7RUFBRSxPQUFPLEVBQ3pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLDhCQUE4QjtFQUFFLE9BQU87RUFDdkMsc0NBQXNDO0VBQUUsT0FBTyxFQUNoRDs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLG9CQUFvQjtFQUFFLE9BQU87RUFDN0IsMkJBQTJCO0VBQUUsT0FBTztFQUNwQyxrQ0FBa0M7RUFBRSxPQUFPLEVBQzVDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUscUJBQXFCLEVBQ3RCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsb0JBQW9CLEVBQ3JCOztBQUVEOzs7R0FHRztBQUVIOzs7RUFHRSxrQ0FBa0M7RUFBRSxPQUFPO0VBQzNDLGVBQWU7RUFBRSxPQUFPLEVBQ3pCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLHVCQUF1QjtFQUN2QixZQUFZLEVBQ2I7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGVBQWUsRUFDaEI7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsZUFBZTtFQUNmLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsZ0JBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsWUFBWSxFQUNiOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIOztFQUVFLHNCQUFzQixFQUN2Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsY0FBYztFQUNkLFVBQVUsRUFDWDs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7Ozs7O0VBS0UsVUFBVSxFQUNYOztBQUVEOzs7R0FHRztBQUVIOztFQUNRLE9BQU87RUFDYixrQkFBa0IsRUFDbkI7O0FBRUQ7OztHQUdHO0FBRUg7O0VBQ1MsT0FBTztFQUNkLHFCQUFxQixFQUN0Qjs7QUFFRDs7OztHQUlHO0FBRUg7Ozs7RUFJRSwyQkFBMkI7RUFBRSxPQUFPLEVBQ3JDOztBQUVEOztHQUVHO0FBRUg7Ozs7RUFJRSxtQkFBbUI7RUFDbkIsV0FBVyxFQUNaOztBQUVEOztHQUVHO0FBRUg7Ozs7RUFJRSwrQkFBK0IsRUFDaEM7O0FBRUQ7Ozs7O0dBS0c7QUFFSDtFQUNFLHVCQUF1QjtFQUFFLE9BQU87RUFDaEMsZUFBZTtFQUFFLE9BQU87RUFDeEIsZUFBZTtFQUFFLE9BQU87RUFDeEIsZ0JBQWdCO0VBQUUsT0FBTztFQUN6QixXQUFXO0VBQUUsT0FBTztFQUNwQixvQkFBb0I7RUFBRSxPQUFPLEVBQzlCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usc0JBQXNCO0VBQUUsT0FBTztFQUMvQix5QkFBeUI7RUFBRSxPQUFPLEVBQ25DOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFlLEVBQ2hCOztBQUVEOzs7R0FHRztBQ3ZDSDs7RUQyQ0UsdUJBQXVCO0VBQUUsT0FBTztFQUNoQyxXQUFXO0VBQUUsT0FBTyxFQUNyQjs7QUFFRDs7R0FFRztBQ3ZDSDs7RUQyQ0UsYUFBYSxFQUNkOztBQUVEOzs7R0FHRztBQ3pDSDtFRDRDRSw4QkFBOEI7RUFBRSxPQUFPO0VBQ3ZDLHFCQUFxQjtFQUFFLE9BQU8sRUFDL0I7O0FBRUQ7O0dBRUc7QUN6Q0g7O0VENkNFLHlCQUF5QixFQUMxQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsY0FBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOztFQUVFLGVBQWUsRUFDaEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLG1CQUFtQixFQUNwQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLHNCQUFzQixFQUN2Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsY0FBYyxFQUNmOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQ3RESDtFRHlERSxjQUFjLEVBQ2Y7O0FFMWFEOztHQUVHO0FBS0g7O0dBRUc7QUFxQ0g7O0dBRUc7QUFRSDs7R0FFRztBQVlIOztHQUVHO0FBVUg7O0dBRUc7QUNqREg7RUFDQyw2QkFBNkI7RUFDN0IseURBQVE7RUFDUixxWUFJNkU7RUFDN0UsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBOztBQWVwQjtFQUNDLDZCQUE2QjtFQUM3QiwwREFBUTtFQUNSLDJZQUkrRTtFQUMvRSxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7O0FBdUNwQjtFQUNDLDZCQUE2QjtFQUM3Qix5REFBUTtFQUNSLHFZQUk2RTtFQUM3RSxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBR3BCO0VBQ0MsNkJBQTZCO0VBQzdCLDJEQUFRO0VBQ1IsaVpBSWlGO0VBQ2pGLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUEyQnBCO0VBQ0MsNkJBQTZCO0VBQzdCLHlEQUFRO0VBQ1IscVlBSTZFO0VBQzdFLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTs7QUNwS3BCO0VBQ0MsdUJBQXVCO0VBQ3ZCLCtDQUFRO0VBQ1IsMFRBSXlELEVBQUE7O0FBRzFEO0VBQ0MsdUJBQXVCO0VBQ3RCLG9DQUFvQztFQUNwQyxtQ0FBbUM7RUFDcEMsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsNEZBQTRGO0VBQzVGLHNCQUFzQjtFQUN0QixxQkFBcUIsRUFDckI7O0FBR0Q7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxpQkFBaUIsRUFDakI7O0FBRUQ7RUFD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LEUwQ3dCWjs7QUF0Q2I7RUE4Q1Esb0JBQW9CLEVBUXZCO0VBdERMO0lBNENZLGNBQWMsRUFDakI7RUE3Q1Q7SUFnRFksZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUNwQjtFQWxEVDtJQW9EWSxpQkFBaUIsRUFDcEI7O0FBckRUO0VBeURRLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFLckI7RUEvREw7SUE0RFksZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUNwQjs7QUFJRDtFQWxFUjtJQW1FWSxhQUFhLEVBRXBCLEVBQUE7O0FDckVMO0VBRUksMEIzQ1NtQjtFMkNObkIseUVBQTJCO0VBQzNCLDBIQUF5SCxFQTRDNUg7RUFsREQ7SUFTUSxhQUFhLEVBQ2hCO0VBVkw7SUFhUSxjQUFjLEVBQ2pCO0VBZEw7SUFpQlEsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0l0Q3NMUixpQ0FBb0I7SXNDcEx0QixtQkFBbUIsRUFDdEI7RUF0Qkw7SUF5QlEsZ0YzQ3lCK0U7STJDeEIvRSxlM0NkZTtJMkNlZixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFlBQVk7SUFDWixpQkFBaUIsRUFDcEI7RUEvQkw7SUFrQ1EsZ0YzQ2dCK0U7STJDZi9FLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZTNDdkJpQjtJMkN3QmpCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZSxFQUlsQjtJQTVDTDtNQTBDWSxzQkFBc0IsRUFDekI7RUEzQ1Q7SUErQ1EsaUJBQWlCLEVBRXBCIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2Ni4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjYuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogUGF0aFxuICovXG4vKipcbiAqIENvbG9yc1xuICovXG4vKipcbiAqIFRleHRcbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlXG4gKi9cbi8qKlxuICogU3VzeVxuICovXG4vKipcbiAqIEVhc2luZ1xuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQmxhY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFjay5zdmcjQXZlbmlyTFRTdGQtQmxhY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1NZWRpdW0uZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1NZWRpdW0uc3ZnI0F2ZW5pckxUU3RkLU1lZGl1bVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtUm9tYW4ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtUm9tYW4ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Sb21hbi5zdmcjQXZlbmlyTFRTdGQtUm9tYW5cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1PYmxpcXVlLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU9ibGlxdWUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1PYmxpcXVlLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU9ibGlxdWUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU9ibGlxdWUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU9ibGlxdWUuc3ZnI0F2ZW5pckxUU3RkLU9ibGlxdWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eS5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvYXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2F2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtSGVhdnkuc3ZnI0F2ZW5pckxUU3RkLUhlYXZ5XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJlaWZmYWdlXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZWlmZmFnZS9laWZmYWdlLmVvdD8wLjAuM1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9laWZmYWdlL2VpZmZhZ2UuZW90PzAuMC4zI2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvZWlmZmFnZS9laWZmYWdlLndvZmYyPzAuMC4zXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9laWZmYWdlL2VpZmZhZ2Uud29mZj8wLjAuM1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9laWZmYWdlL2VpZmZhZ2UudHRmPzAuMC4zXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9laWZmYWdlL2VpZmZhZ2Uuc3ZnPzAuMC4zI2VpZmZhZ2VcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5pY29uOmJlZm9yZSwgLmJyZWFkY3J1bWIgYTpiZWZvcmUsIC53eXNpd3lnIGJsb2NrcXVvdGU6YmVmb3JlLCAuc3F1YXJlX19idXR0b24tLXByZXY6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQ6YmVmb3JlLCAuc3F1YXJlX19idXR0b24tLW5leHQ6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0OmJlZm9yZSwgYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudDpiZWZvcmUsIGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0OmJlZm9yZSwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCAubmYtcmVzcG9uc2UtbXNnOmJlZm9yZSwgLmRrLXNlbGVjdGVkOmJlZm9yZSwgLnRhYnNfX2Fycm93OmJlZm9yZSwgLnBhZ2luYXRpb24gLnByZXY6YmVmb3JlLCAucGFnaW5hdGlvbiAubmV4dDpiZWZvcmUsIC5jaXRhdGlvbl9fdGV4dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJlaWZmYWdlXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5pY29uLWFkZHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDFcIjsgfVxuXG4uaWNvbi1hcmNoaXRlY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uaWNvbi1hcmVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAzXCI7IH1cblxuLmljb24tYXJyb3ctYm90dG9tOmJlZm9yZSwgLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA0XCI7IH1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUsIC5zcXVhcmVfX2J1dHRvbi0tcHJldjpiZWZvcmUsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5hcnJvdy0tbGVmdDpiZWZvcmUsIC5wYWdpbmF0aW9uIC5wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA1XCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQtZmlsbDpiZWZvcmUsIC5icmVhZGNydW1iIGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDZcIjsgfVxuXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUsIC5icmVhZGNydW1iIGE6YmVmb3JlLCAuc3F1YXJlX19idXR0b24tLW5leHQ6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0OmJlZm9yZSwgLnRhYnNfX2Fycm93OmJlZm9yZSwgLnBhZ2luYXRpb24gLm5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDdcIjsgfVxuXG4uaWNvbi1hcnJvdy10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDhcIjsgfVxuXG4uaWNvbi1iYWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA5XCI7IH1cblxuLmljb24tYmVoYXZpb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEFcIjsgfVxuXG4uaWNvbi1idWRnZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEJcIjsgfVxuXG4uaWNvbi1jaXRhdGlvbjpiZWZvcmUsIC53eXNpd3lnIGJsb2NrcXVvdGU6YmVmb3JlLCAuY2l0YXRpb25fX3RleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMENcIjsgfVxuXG4uaWNvbi1jbGVhcm5lc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMERcIjsgfVxuXG4uaWNvbi1jbG9zZS1mYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuXG4uaWNvbi1jb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBGXCI7IH1cblxuLmljb24tY29tcGFueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMFwiOyB9XG5cbi5pY29uLWNvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTFcIjsgfVxuXG4uaWNvbi1jb25zdHJ1Y3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTJcIjsgfVxuXG4uaWNvbi1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxM1wiOyB9XG5cbi5pY29uLWNyb3dkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE0XCI7IH1cblxuLmljb24tZGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG5cbi5pY29uLWRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNlwiOyB9XG5cbi5pY29uLWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE3XCI7IH1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMThcIjsgfVxuXG4uaWNvbi1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTlcIjsgfVxuXG4uaWNvbi1nb29nbGVwbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFBXCI7IH1cblxuLmljb24tZ3Jvd3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFCXCI7IH1cblxuLmljb24taGFuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMUNcIjsgfVxuXG4uaWNvbi1oZWxtZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMURcIjsgfVxuXG4uaWNvbi1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRVwiOyB9XG5cbi5pY29uLWh5ZHJhdWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRlwiOyB9XG5cbi5pY29uLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIwXCI7IH1cblxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIxXCI7IH1cblxuLmljb24taW50ZXJuYXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyMlwiOyB9XG5cbi5pY29uLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjNcIjsgfVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNFwiOyB9XG5cbi5pY29uLWxvYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNVwiOyB9XG5cbi5pY29uLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNlwiOyB9XG5cbi5pY29uLW1lZGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI3XCI7IH1cblxuLmljb24tbm90ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjhcIjsgfVxuXG4uaWNvbi1vcGVuLWRvb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjlcIjsgfVxuXG4uaWNvbi1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkFcIjsgfVxuXG4uaWNvbi1wZXJzZXZlcmFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkJcIjsgfVxuXG4uaWNvbi1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkNcIjsgfVxuXG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyRFwiOyB9XG5cbi5pY29uLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkVcIjsgfVxuXG4uaWNvbi1yZXNwb25zaWJpbGl0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyRlwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzMFwiOyB9XG5cbi5pY29uLXNvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMxXCI7IH1cblxuLmljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzMlwiOyB9XG5cbi5pY29uLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMzXCI7IH1cblxuLmljb24tdGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM0XCI7IH1cblxuLmljb24tdG9vbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzVcIjsgfVxuXG4uaWNvbi10cnVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzNlwiOyB9XG5cbi5pY29uLXR1cm5vdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM3XCI7IH1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzOFwiOyB9XG5cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzlcIjsgfVxuXG4uaWNvbi12YWxpZGU6YmVmb3JlLCAubmYtcmVzcG9uc2UtbXNnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNBXCI7IH1cblxuLmljb24td2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNCXCI7IH1cblxuLmljb24teW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQ1wiOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaG93VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNob3dVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hvd1VwVGl0bGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2hvd1VwVGl0bGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dVcFRpdGxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCUpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNob3dEb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzaG93RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dEb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaWRlRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgaGlkZURvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBoaWRlRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGlkZVVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBoaWRlVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBoaWRlVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNob3dMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzaG93TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaG93UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1JSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNob3dSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja2dyb3VuZFBvc2l0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwMHB4IGNlbnRlcjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2VudGVyOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJhY2tncm91bmRQb3NpdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja2dyb3VuZFBvc2l0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwMHB4IGNlbnRlcjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2VudGVyOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvYWRlciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXItaW5uZXIge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwJTsgfVxuICAyNSUge1xuICAgIGhlaWdodDogMCU7IH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgNzUlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwJTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBsb2FkZXItaW5uZXIge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwJTsgfVxuICAyNSUge1xuICAgIGhlaWdodDogMCU7IH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgNzUlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwJTsgfSB9XG5cbkBrZXlmcmFtZXMgbG9hZGVyLWlubmVyIHtcbiAgMCUge1xuICAgIGhlaWdodDogMCU7IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDAlOyB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDc1JSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMCU7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyLXNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgbG9hZGVyLXNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvYWRlci1zcGlubmVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1lbnVfaXRlbV91bmRlcmxpbmVfYWN0aXZlIHtcbiAgMCUge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnVfaXRlbV91bmRlcmxpbmVfYWN0aXZlIHtcbiAgMCUge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIDEwMCUge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuQGtleWZyYW1lcyBtZW51X2l0ZW1fdW5kZXJsaW5lX2FjdGl2ZSB7XG4gIDAlIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICByaWdodDogMDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZ19zaG93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc3dpbmdfc2hvdyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzd2luZ19zaG93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYnJlYWRjcnVtYiBhIHtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIC5icmVhZGNydW1iIGE6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6ICMxYjFmMmU7IH1cblxuLmhlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAxcHgpIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5wYWdlX19kZWZhdWx0IC5oZWFkaW5nLFxuICAgICAgLnBhZ2VfX3NlYXJjaCAuaGVhZGluZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5oZWFkaW5nLFxuICAgICAgLnBhZ2VfX3NpbmdsZV9qb2JzIC5oZWFkaW5nIHtcbiAgICAgICAgbWluLWhlaWdodDogMjUwcHg7IH0gfVxuICAuaGVhZGluZy0tbm9zcGFjZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGVhZGluZyA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuaGVhZGluZyA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5oZWFkaW5nIC5jZW50ZXIsIC5oZWFkaW5nIGJvZHkgLmNlbnRlci0tc21hbGwsIGJvZHkgLmhlYWRpbmcgLmNlbnRlci0tc21hbGwsIC5oZWFkaW5nIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAuaGVhZGluZyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAuaGVhZGluZyAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLmhlYWRpbmcgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLmhlYWRpbmcgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYSwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLmhlYWRpbmcgYSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5oZWFkaW5nIC5jZW50ZXIsIC5oZWFkaW5nIGJvZHkgLmNlbnRlci0tc21hbGwsIGJvZHkgLmhlYWRpbmcgLmNlbnRlci0tc21hbGwsIC5oZWFkaW5nIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAuaGVhZGluZyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAuaGVhZGluZyAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLmhlYWRpbmcgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLmhlYWRpbmcgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYSwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLmhlYWRpbmcgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gIC5oZWFkaW5nIC5oZWFkaW5nX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIC8qKlxuICAgICAgICAgKiBTaWRlIHNwYWNpbmcgYmFzZWQgb24gLmNlbnRlclxuICAgICAgICAgKi8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMXB4KSB7XG4gICAgICAucGFnZV9fZGVmYXVsdCAuaGVhZGluZyAuaGVhZGluZ19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAuaGVhZGluZyAuaGVhZGluZ19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgLmhlYWRpbmcgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgICAgICBsZWZ0OiAxLjg3NWVtO1xuICAgICAgICByaWdodDogMS44NzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5oZWFkaW5nIC5oZWFkaW5nX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgLmhlYWRpbmdfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY29sb3JfbGlnaHQgLmhlYWRpbmdfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbG9yX2RhcmsgLmhlYWRpbmdfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjMWIxZjJlOyB9XG4gIC5oZWFkaW5nX190ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc3NztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuY29sb3JfbGlnaHQgLmhlYWRpbmdfX3RleHQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY29sb3JfZGFyayAuaGVhZGluZ19fdGV4dCB7XG4gICAgICBjb2xvcjogIzFiMWYyZTsgfVxuICAuaGVhZGluZ19fYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUI5QTlGO1xuICAgIC8qKlxuICAgICAgICBMaXN0IG9mIGNvbG91cnM6XG4gICAgICAgIGNvbG9yX19yZWQgOiBSb3VnZVxuICAgICAgICBjb2xvcl9fZ3JlZW4gOiBWZXJ0XG4gICAgICAgIGNvbG9yX195ZWxsb3cgOiBKYXVuZVxuICAgICAgICBjb2xvcl9fYmx1ZSA6IEJsZXVcbiAgICAgICAgY29sb3JfX2dyZXkgOiBHcmlzXG4gICAgICAgICAqLyB9XG4gICAgLmJnX2NvbG9yX19ncmVlbiAuaGVhZGluZ19fYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Y5QzM1OyB9XG4gICAgLmJnX2NvbG9yX19yZWQgLmhlYWRpbmdfX2JhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsgfVxuICAgIC5iZ19jb2xvcl9fYmx1ZSAuaGVhZGluZ19fYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OENFOyB9XG4gICAgLmJnX2NvbG9yX195ZWxsb3cgLmhlYWRpbmdfX2JhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDEwMDsgfVxuICAgIC5oZWFkaW5nX19iYWNrZ3JvdW5kX19pbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmJyZWFkY3J1bWIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1iIGE6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjVlbTsgfVxuICAgIC5icmVhZGNydW1iIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY29sb3JfZGFyayAuYnJlYWRjcnVtYiBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI3LCAzMSwgNDYsIDAuOCk7IH1cbiAgICAgIC5jb2xvcl9kYXJrIC5icmVhZGNydW1iIGE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMxYjFmMmU7IH1cbiAgICAgIC5jb2xvcl9kYXJrIC5icmVhZGNydW1iIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFiMWYyZTsgfVxuICAuYnJlYWRjcnVtYiBzcGFuIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb2xvcl9kYXJrIC5icmVhZGNydW1iIHNwYW4ge1xuICAgICAgY29sb3I6ICMxYjFmMmU7IH1cblxuLnN1Yl9oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9XG4gIC5zdWJfaGVhZGluZyAud3lzaXd5ZyB7XG4gICAgY29sb3I6ICMxYjFmMmU7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuXG4ud3lzaXd5ZyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKipcbiAgICAgKiBJTUFHRVNcbiAgICAgKi9cbiAgLyoqXG4gICAgICogSCNcbiAgICAgKi9cbiAgLyoqXG4gICAgICogQ2l0YXRpb25cbiAgICAgKi9cbiAgLyoqXG4gICAgICogaHJcbiAgICAgKi9cbiAgLyoqXG4gICAgICogTGlzdFxuICAgICAqLyB9XG4gIC53eXNpd3lnIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnd5c2l3eWcgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC53eXNpd3lnLS1saWdodCB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnd5c2l3eWcgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnd5c2l3eWcgYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjAlO1xuICAgICAgcmlnaHQ6IDIwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmYwMDAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgbGVmdCAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCByaWdodCAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG4gICAgLnd5c2l3eWcgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC53eXNpd3lnIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgIC53eXNpd3lnIGEubWFpbl9saW5rOmFmdGVyLCAud3lzaXd5ZyAuZXJyb3I0MDQgYS5lcnJvcjQwNF9fbGluazphZnRlciwgLmVycm9yNDA0IC53eXNpd3lnIGEuZXJyb3I0MDRfX2xpbms6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAud3lzaXd5ZyBhIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC53eXNpd3lnIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEuODc1ZW0gMDsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZS5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS44NzVlbTsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZS5hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tY2VudGVyIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC53eXNpd3lnIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnd5c2l3eWcgaW1nLmFsaWdubGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgfVxuICAgIC53eXNpd3lnIGltZy5hbGlnbnJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NWVtOyB9XG4gICAgLnd5c2l3eWcgaW1nLmFsaWduY2VudGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC53eXNpd3lnIGgxLCAud3lzaXd5ZyBoMiwgLnd5c2l3eWcgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBTdGRcIiwgQXZlbmlyLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuOHB4O1xuICAgIG1hcmdpbi10b3A6IDAuNmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNmVtOyB9XG4gIC53eXNpd3lnIGg0LCAud3lzaXd5ZyBoNSwgLnd5c2l3eWcgaDYge1xuICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBTdGRcIiwgQXZlbmlyLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuICAud3lzaXd5ZyBoMSB7XG4gICAgZm9udC1zaXplOiAyLjVlbTsgfVxuICAud3lzaXd5ZyBoMiB7XG4gICAgZm9udC1zaXplOiAyZW07IH1cbiAgLnd5c2l3eWcgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLnd5c2l3eWcgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtOyB9XG4gIC53eXNpd3lnIGg1IHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAud3lzaXd5ZyBoNiB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAud3lzaXd5ZyBibG9ja3F1b3RlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAxZW0gMTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgICAud3lzaXd5ZyBibG9ja3F1b3RlIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC53eXNpd3lnIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBsZWZ0OiAtMTVweDtcbiAgICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gIC53eXNpd3lnIGhyIHtcbiAgICBtYXJnaW46IDEuODc1ZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IzYjRiOTsgfVxuICAud3lzaXd5ZyB1bCxcbiAgLnd5c2l3eWcgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuODc1ZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC53eXNpd3lnIHVsIGxpLFxuICAgIC53eXNpd3lnIG9sIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtOyB9XG4gICAgICAud3lzaXd5ZyB1bCBsaTpsYXN0LWNoaWxkLFxuICAgICAgLnd5c2l3eWcgb2wgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAud3lzaXd5ZyB1bCB1bCxcbiAgICAud3lzaXd5ZyB1bCBvbCxcbiAgICAud3lzaXd5ZyBvbCB1bCxcbiAgICAud3lzaXd5ZyBvbCBvbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtOyB9XG4gIC53eXNpd3lnIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnd5c2l3eWcgdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfVxuICAgICAgLnd5c2l3eWcgdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNWVtO1xuICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLnd5c2l3eWcgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7IH1cbiAgICAud3lzaXd5ZyBvbCA+IGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44ZW07IH1cbiAgICAgIC53eXNpd3lnIG9sID4gbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCkgXCIuIFwiO1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdDsgfVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zcXVhcmVfX2J1dHRvbiwgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5zcXVhcmVfX2J1dHRvbi0tbmV4dCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIC1raHRtbC1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuICAuc3F1YXJlX19idXR0b246YmVmb3JlLCAuc3F1YXJlX19idXR0b24tLXByZXY6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQ6YmVmb3JlLCAuc3F1YXJlX19idXR0b24tLW5leHQ6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uY2xvc2VfX2J1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGluay0tYmFzaWMsIC5tYXBfX2luZm93aW5kb3dfX2luZm9fX2l0ZW0gYSwgLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX29mZmVyc19fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5saW5rLS1iYXNpYzphZnRlciwgLm1hcF9faW5mb3dpbmRvd19faW5mb19faXRlbSBhOmFmdGVyLCAucGFnZV9fam9pbl91cyAuam9pbl91c19fb2ZmZXJzX19saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZjAwMDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBsZWZ0IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSksIHJpZ2h0IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgLmxpbmstLWJhc2ljOmhvdmVyLCAubWFwX19pbmZvd2luZG93X19pbmZvX19pdGVtIGE6aG92ZXIsIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19vZmZlcnNfX2xpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5saW5rLS1iYXNpYzpob3ZlcjphZnRlciwgLm1hcF9faW5mb3dpbmRvd19faW5mb19faXRlbSBhOmhvdmVyOmFmdGVyLCAucGFnZV9fam9pbl91cyAuam9pbl91c19fb2ZmZXJzX19saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cblxuLmJ0bi0tY2xvc2Uge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsgfVxuICAuYnRuLS1jbG9zZTpob3ZlciAuaWNvbiwgLmJ0bi0tY2xvc2U6aG92ZXIgLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLmJ0bi0tY2xvc2U6aG92ZXIgYSwgLmJ0bi0tY2xvc2U6aG92ZXIgLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLmJ0bi0tY2xvc2U6aG92ZXIgYmxvY2txdW90ZSwgLmJ0bi0tY2xvc2U6aG92ZXIgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAuYnRuLS1jbG9zZTpob3ZlciAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5idG4tLWNsb3NlOmhvdmVyIC5hcnJvdy0tbGVmdCwgLmJ0bi0tY2xvc2U6aG92ZXIgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAuYnRuLS1jbG9zZTpob3ZlciAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYnRuLS1jbG9zZTpob3ZlciAuYXJyb3ctLXJpZ2h0LCAuYnRuLS1jbG9zZTpob3ZlciBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLmJ0bi0tY2xvc2U6aG92ZXIgLmZpZWxkLS1zZWxlY3QsIC5idG4tLWNsb3NlOmhvdmVyIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAuYnRuLS1jbG9zZTpob3ZlciAubmYtZmllbGQtZWxlbWVudCwgLmJ0bi0tY2xvc2U6aG92ZXIgYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5idG4tLWNsb3NlOmhvdmVyIC5maWVsZC0tc2VsZWN0LCAuYnRuLS1jbG9zZTpob3ZlciBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLmJ0bi0tY2xvc2U6aG92ZXIgLm5mLWZpZWxkLWVsZW1lbnQsIC5idG4tLWNsb3NlOmhvdmVyIC5uZi1yZXNwb25zZS1tc2csIC5idG4tLWNsb3NlOmhvdmVyIC5kay1zZWxlY3RlZCwgLmJ0bi0tY2xvc2U6aG92ZXIgLnRhYnNfX2Fycm93LCAuYnRuLS1jbG9zZTpob3ZlciAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLmJ0bi0tY2xvc2U6aG92ZXIgLnByZXYsIC5idG4tLWNsb3NlOmhvdmVyIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAuYnRuLS1jbG9zZTpob3ZlciAubmV4dCwgLmJ0bi0tY2xvc2U6aG92ZXIgLmNpdGF0aW9uX190ZXh0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsgfVxuICAuYnRuLS1jbG9zZSAuaWNvbiwgLmJ0bi0tY2xvc2UgLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLmJ0bi0tY2xvc2UgYSwgLmJ0bi0tY2xvc2UgLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLmJ0bi0tY2xvc2UgYmxvY2txdW90ZSwgLmJ0bi0tY2xvc2UgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAuYnRuLS1jbG9zZSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5idG4tLWNsb3NlIC5hcnJvdy0tbGVmdCwgLmJ0bi0tY2xvc2UgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAuYnRuLS1jbG9zZSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYnRuLS1jbG9zZSAuYXJyb3ctLXJpZ2h0LCAuYnRuLS1jbG9zZSBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLmJ0bi0tY2xvc2UgLmZpZWxkLS1zZWxlY3QsIC5idG4tLWNsb3NlIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAuYnRuLS1jbG9zZSAubmYtZmllbGQtZWxlbWVudCwgLmJ0bi0tY2xvc2UgYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5idG4tLWNsb3NlIC5maWVsZC0tc2VsZWN0LCAuYnRuLS1jbG9zZSBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLmJ0bi0tY2xvc2UgLm5mLWZpZWxkLWVsZW1lbnQsIC5idG4tLWNsb3NlIC5uZi1yZXNwb25zZS1tc2csIC5idG4tLWNsb3NlIC5kay1zZWxlY3RlZCwgLmJ0bi0tY2xvc2UgLnRhYnNfX2Fycm93LCAuYnRuLS1jbG9zZSAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLmJ0bi0tY2xvc2UgLnByZXYsIC5idG4tLWNsb3NlIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAuYnRuLS1jbG9zZSAubmV4dCwgLmJ0bi0tY2xvc2UgLmNpdGF0aW9uX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG5cbi5idG4tLXN0cm9rZSwgLm5mLWZpZWxkIC5uZi1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9YnV0dG9uXSwgLm5mLWZpZWxkIC5uZi1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgLmJ0bi0tc3Ryb2tlOmhvdmVyLCAubmYtZmllbGQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXRbdHlwZT1idXR0b25dOmhvdmVyLCAubmYtZmllbGQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9ybTpiZWZvcmUsIC5mb3JtOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi8gfVxuXG4uZm9ybTphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpZWxkLS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZpZWxkLS1oYWxmLCAuZmllbGQtLWhhbGYtLWVuZCB7XG4gIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDMwcHgpIC8gMik7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAuZmllbGQtLWhhbGYsIC5maWVsZC0taGFsZi0tZW5kIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmZpZWxkLS1oYWxmLS1lbmQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG5ib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0LCBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdDpiZWZvcmUsIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmJlZm9yZSwgYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudDpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0cHg7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3Qgc2VsZWN0LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCBzZWxlY3QsIGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0IHNlbGVjdCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG5cbi8qXG4gKlxuICogTklOSkEgRk9STVNcbiAqXG4gKi9cbi5zdWJtaXQtd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubmYtZm9ybS1maWVsZHMtcmVxdWlyZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uZi1maWVsZCAuZmllbGQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmYtZmllbGQgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsIC5uZi1maWVsZCAubmYtZmllbGQtZWxlbWVudCBzZWxlY3QsIC5uZi1maWVsZCAubmYtZmllbGQtZWxlbWVudCB0ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTc5LCAxODAsIDE4NSwgMC41KTtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cblxuLm5mLWZpZWxkIC5uZi1maWVsZC1lbGVtZW50IHRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBoZWlnaHQ6IDEwZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ubmYtZmllbGQgLnN1Ym1pdC13cmFwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5mLWZpZWxkIC5zdWJtaXQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLm5mLWZpZWxkIC5uZi1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9YnV0dG9uXSwgLm5mLWZpZWxkIC5uZi1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5uZi1maWVsZCAubmYtZmllbGQtbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgLm5mLWZpZWxkIC5uZi1maWVsZC1sYWJlbCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBjb2xvcjogIzFiMWYyZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSwgZm9udC1zaXplIDAuMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSksIGZvbnQtc2l6ZSAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKSwgZm9udC1zaXplIDAuMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH1cbiAgLmxhYmVsLWFib3ZlIC5uZi1maWVsZCAubmYtZmllbGQtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRleHRhcmVhLWNvbnRhaW5lciAubmYtZmllbGQgLm5mLWZpZWxkLWxhYmVsIHtcbiAgdG9wOiAzMHB4OyB9XG5cbi5uZi1maWVsZCAuZmlsZV91cGxvYWQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuXG4ubmYtZmllbGQuZm9jdXNfaW4gLm5mLWZpZWxkLWxhYmVsLCAubmYtZmllbGQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWxhYmVsLCAubmYtZmllbGQgLmxpc3Rjb3VudHJ5LXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgdG9wOiAwOyB9XG4gIC5uZi1maWVsZC5mb2N1c19pbiAubmYtZmllbGQtbGFiZWwgbGFiZWwsIC5uZi1maWVsZCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwsIC5uZi1maWVsZCAubGlzdGNvdW50cnktd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbiAgICBmb250LXNpemU6IDEwcHg7IH1cblxubGFiZWwgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICBjb2xvcjogI2ZmMDAwMDsgfVxuXG4ubmYtZXJyb3IgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwOyB9XG5cbi5uZi1lcnJvciBzZWxlY3QubmluamEtZm9ybXMtZmllbGQsIC5uZi1lcnJvciAuZGstc2VsZWN0Lm5pbmphLWZvcm1zLWZpZWxkIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5uZi1mb3JtLWVycm9ycyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubmYtYWZ0ZXItZmllbGQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbm5mLWVycm9ycyAubmYtZXJyb3ItbXNnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb246IHN3aW5nX3Nob3cgMC44cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLm5mLXJlc3BvbnNlLW1zZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB1cF9zaG93IDAuMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIC1tb3otYW5pbWF0aW9uOiB1cF9zaG93IDAuMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIGFuaW1hdGlvbjogdXBfc2hvdyAwLjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5uZi1yZXNwb25zZS1tc2c6YmVmb3JlIHtcbiAgICBjb2xvcjogIzNGOUMzNTtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxubmYtZmllbGQgLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXG5uZi1maWVsZCAubmYtZmllbGQtY29udGFpbmVyLnNwYWNlLWFmdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIuaGFsZi1maWVsZCB7XG4gIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDIwcHgpIC8gMik7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgLm5mLWZpZWxkLWNvbnRhaW5lci5oYWxmLWZpZWxkIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAubmYtZmllbGQtY29udGFpbmVyLmhhbGYtZmllbGQtZW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmZvcm1fY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuZm9ybV9jb250YWluZXIgLm5mLWZvcm0tY29udCAub25lLXRoaXJkLCAuZm9ybV9jb250YWluZXIgLm5mLWZvcm0tY29udCAudHdvLXNpeHRocyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm5mLWZvcm0tY29udCAubmYtZm9ybS1sYXlvdXQgZm9ybSAubmYtZm9ybS1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIuZmlsZV91cGxvYWQtY29udGFpbmVyIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMWIxZjJlO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwcHggMTVweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBTdGRcIiwgQXZlbmlyLCBGdXR1cmEsIFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLm5mLWZvcm0tY29udCAubmYtZm9ybS1sYXlvdXQgZm9ybSAubmYtZm9ybS1jb250ZW50IC5uZi1maWVsZC1jb250YWluZXIgLm5mLWVycm9yIC5uZi1maWVsZC1lbGVtZW50IC5uaW5qYS1mb3Jtcy1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tbGF5b3V0IGZvcm0gLm5mLWZvcm0tY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmZpbGVfdXBsb2FkLWNvbnRhaW5lciBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubmYtZm9ybS1jb250IC5uZi1mb3JtLWxheW91dCBmb3JtIC5uZi1mb3JtLWNvbnRlbnQgLm5mLWZpZWxkLWNvbnRhaW5lci5maWxlX3VwbG9hZC1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJyZXNldFwiXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubmYtZm9ybS1jb250IC5uZi1mdS1wcm9ncmVzcyB7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubmYtZm9ybS1jb250IC5uZi1mdS1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxZjJlOyB9XG5cbi5maWxlc191cGxvYWRlZCAuZGVsZXRlIHtcbiAgY29sb3I6ICMxYjFmMmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5maWxlc191cGxvYWRlZCBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLm5mLWZvcm0tY29udGVudCAuZmlsZV91cGxvYWQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5mLWZvcm0tY29udGVudCAuZmlsZV91cGxvYWQtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5uZi1maWVsZCAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAubmYtZmllbGQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWxhYmVsIGxhYmVsOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiAtMjZweDsgfVxuXG4ubmYtZm9ybS1jb250ZW50IC5uZi1lcnJvci5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmFmdGVyIHtcbiAgd2lkdGg6IDIwcHg7IH1cblxuLmxpZ2h0Ym94IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubGlnaHRib3hfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94X19vdmVybGF5X19pbnNpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAubGlnaHRib3hfX2NvbnRhaW5lcl9fc2Nyb2xsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5saWdodGJveF9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIC5saWdodGJveF9fY29udGVudDpiZWZvcmUsIC5saWdodGJveF9fY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgLmxpZ2h0Ym94X19jb250ZW50OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saWdodGJveCAuYnRuLS1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAubGlnaHRib3ggLnd5c2l3eWcubGlnaHRib3hfX2NvbnRlbnRfX3RleHRfX2xlYWRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5saWdodGJveC0tdmlkZW8gLmxpZ2h0Ym94X19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBjYWxjKCAxMDAlIC0gMzBweCk7XG4gIG1heC13aWR0aDogMTIwMHB4OyB9XG4gIC5saWdodGJveC0tdmlkZW8gLmxpZ2h0Ym94X19jb250YWluZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5saWdodGJveC0tdmlkZW8gLmxpZ2h0Ym94X19jb250YWluZXJfX3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubGlnaHRib3gtLXZpZGVvICNwbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ubGlnaHRib3gtLXZpZGVvIC5idG4tLWNsb3NlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7IH1cblxuLmxpZ2h0Ym94LS1hYm91dF9ncm91cCAubGlnaHRib3hfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5saWdodGJveC0tYWJvdXRfZ3JvdXAgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiBjYWxjKCAxMDAlIC0gMzBweCk7XG4gIG1heC13aWR0aDogMTIwMHB4OyB9XG4gIC5saWdodGJveC0tYWJvdXRfZ3JvdXAgLmxpZ2h0Ym94X19jb250ZW50OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDYzLjkxNjY3JTsgfVxuICAubGlnaHRib3gtLWFib3V0X2dyb3VwIC5saWdodGJveF9fY29udGVudF9faW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgLmxpZ2h0Ym94LS1hYm91dF9ncm91cCAubGlnaHRib3hfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAubGlnaHRib3gtLWFib3V0X2dyb3VwIC5saWdodGJveF9fY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLmxpZ2h0Ym94LS1hYm91dF9ncm91cCAubGlnaHRib3hfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MjBweCkge1xuICAgIC5saWdodGJveC0tYWJvdXRfZ3JvdXAgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNDUwcHg7IH0gfVxuICAubGlnaHRib3gtLWFib3V0X2dyb3VwIC5saWdodGJveF9fY29udGVudCAubWFpbl9saW5rLCAubGlnaHRib3gtLWFib3V0X2dyb3VwIC5saWdodGJveF9fY29udGVudCAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rLCAuZXJyb3I0MDQgLmxpZ2h0Ym94LS1hYm91dF9ncm91cCAubGlnaHRib3hfX2NvbnRlbnQgLmVycm9yNDA0X19saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm90dG9tOiAzMHB4OyB9XG4gICAgLmxpZ2h0Ym94LS1hYm91dF9ncm91cCAubGlnaHRib3hfX2NvbnRlbnQgLm1haW5fbGluay0tYl9sZWZ0IHtcbiAgICAgIGxlZnQ6IDMwcHg7IH1cbiAgICAubGlnaHRib3gtLWFib3V0X2dyb3VwIC5saWdodGJveF9fY29udGVudCAubWFpbl9saW5rLS1iX3JpZ2h0IHtcbiAgICAgIHJpZ2h0OiAzMHB4OyB9XG5cbi5saWdodGJveC0tYWJvdXRfZ3JvdXAgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4ubGlnaHRib3gtLWFib3V0X2dyb3VwIC5idG4tLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7IH1cblxuLmxpZ2h0Ym94LS1vdl9nYWxsZXJ5IC5saWdodGJveF9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgLSAzMHB4KTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7IH1cbiAgLmxpZ2h0Ym94LS1vdl9nYWxsZXJ5IC5saWdodGJveF9fY29udGFpbmVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDY0LjE2NjY3JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODAwcHgpIHtcbiAgICAubGlnaHRib3gtLW92X2dhbGxlcnkgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAubGlnaHRib3gtLW92X2dhbGxlcnkgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgIC5saWdodGJveC0tb3ZfZ2FsbGVyeSAubGlnaHRib3hfX2NvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDQwMHB4KSB7XG4gICAgLmxpZ2h0Ym94LS1vdl9nYWxsZXJ5IC5saWdodGJveF9fY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuXG4ubGlnaHRib3gtLW92X2dhbGxlcnkgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDsgfVxuXG4ubGlnaHRib3gtLW92X2dhbGxlcnkgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4ubGlnaHRib3gtLW92X2dhbGxlcnkgLmJ0bi0tY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsgfVxuXG4ubGlnaHRib3gtLWFjY2Vzc2liaWxpdHkgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBjYWxjKCAxMDAlIC0gMzBweCk7XG4gIG1heC13aWR0aDogODAwcHg7IH1cbiAgLmxpZ2h0Ym94LS1hY2Nlc3NpYmlsaXR5IC5saWdodGJveF9fY29udGFpbmVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuXG4ubGlnaHRib3gtLWFjY2Vzc2liaWxpdHkgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgcGFkZGluZzogMzBweDsgfVxuXG4ubGlnaHRib3gtLWFjY2Vzc2liaWxpdHkgLmxpZ2h0Ym94X190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5saWdodGJveC0tYWNjZXNzaWJpbGl0eSAuYnRuLS1jbG9zZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOyB9XG5cbi5saWdodGJveC0tbG9hZF9wb3B1cCAubGlnaHRib3hfX2NvbnRhaW5lciB7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogY2FsYyggMTAwJSAtIDQwcHgpO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0NTBweCkge1xuICAgIC5saWdodGJveC0tbG9hZF9wb3B1cCAubGlnaHRib3hfX2NvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KSB7XG4gICAgLmxpZ2h0Ym94LS1sb2FkX3BvcHVwIC5saWdodGJveF9fY29udGFpbmVyLS1zcXVhcmUge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICAgIC5saWdodGJveC0tbG9hZF9wb3B1cCAubGlnaHRib3hfX2NvbnRhaW5lci0tc3F1YXJlIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAubGlnaHRib3gtLWxvYWRfcG9wdXAgLmxpZ2h0Ym94X19jb250YWluZXItLXNxdWFyZSB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDQ1MHB4KSB7XG4gICAgLmxpZ2h0Ym94LS1sb2FkX3BvcHVwIC5saWdodGJveF9fY29udGFpbmVyLS1zcXVhcmUge1xuICAgICAgbWF4LXdpZHRoOiAyNzBweDsgfSB9XG4gIC5saWdodGJveC0tbG9hZF9wb3B1cCAubGlnaHRib3hfX2NvbnRhaW5lcl9fc2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5saWdodGJveC0tbG9hZF9wb3B1cCAubGlnaHRib3hfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuICAubGlnaHRib3gtLWxvYWRfcG9wdXAgLmxpZ2h0Ym94X19pbWFnZS0tc3F1YXJlIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4ubGlnaHRib3gtLWxvYWRfcG9wdXAgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4ubGlnaHRib3gtLWxvYWRfcG9wdXAgLmJ0bi0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgYm94LXNoYWRvdzogLTNweCAzcHggM3B4IHJnYmEoMTksIDIyLCAzNywgMC4xKTsgfVxuXG4uZGstc2VsZWN0LFxuLmRrLXNlbGVjdCAqLFxuLmRrLXNlbGVjdCAqOmJlZm9yZSxcbi5kay1zZWxlY3QgKjphZnRlcixcbi5kay1zZWxlY3QtbXVsdGksXG4uZGstc2VsZWN0LW11bHRpICosXG4uZGstc2VsZWN0LW11bHRpICo6YmVmb3JlLFxuLmRrLXNlbGVjdC1tdWx0aSAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmRrLXNlbGVjdCxcbi5kay1zZWxlY3QtbXVsdGkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmRrLXNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmRrLXNlbGVjdGVkIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjYjNiNGI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDRweDtcbiAgICBjb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0ZWQ6YmVmb3JlLFxuLmRrLXNlbGVjdGVkOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDIwcHg7IH1cblxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5kay1zZWxlY3RlZC1kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi5kay1zZWxlY3QgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gIHRvcDogY2FsYyggMTAwJSArIDJweCk7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmRrLXNlbGVjdC1tdWx0aSAuZGstc2VsZWN0LW9wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAxMGVtOyB9XG5cbi5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgei1pbmRleDogMTAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgICBib3gtc2hhZG93OiAwIC0xMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjNiNGI5OyB9XG4gIC5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjNiNGI5OyB9XG5cbi5kay1vcHRpb24tc2VsZWN0ZWQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0LW9wdGlvbnMtaGlnaGxpZ2h0IC5kay1vcHRpb24tc2VsZWN0ZWQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmRrLW9wdGlvbiB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uZGstc2VsZWN0LW9wdGlvbnMgLmRrLW9wdGlvbi1oaWdobGlnaHQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0LW9wdGlvbnMgLmRrLW9wdGlvbi1kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYmJiYmJiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZGstb3B0Z3JvdXAge1xuICBtYXJnaW4tdG9wOiAuMjVlbTtcbiAgcGFkZGluZzogLjI1ZW0gMDtcbiAgYm9yZGVyOiBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItd2lkdGg6IDFweCAwOyB9XG5cbi5kay1vcHRncm91cCArIC5kay1vcHRpb24ge1xuICBtYXJnaW4tdG9wOiAuMjVlbTsgfVxuXG4uZGstb3B0Z3JvdXAgKyAuZGstb3B0Z3JvdXAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG5cbi5kay1vcHRncm91cDpudGgtY2hpbGQoMikge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uZGstb3B0Z3JvdXA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kay1vcHRncm91cC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAyMHB4IDEwcHg7IH1cblxuLmRrLW9wdGdyb3VwLW9wdGlvbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmRrLW9wdGdyb3VwLW9wdGlvbnMgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDEuMmVtOyB9XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6ICNiM2I0Yjk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQ6YmVmb3JlLFxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMCAuMjVlbSAuMjVlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdGVkOmFmdGVyLFxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdGVkOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNiM2I0Yjk7IH1cblxuLmRrLXNlbGVjdC1vcGVuLXVwIC5kay1zZWxlY3Qtb3B0aW9ucyxcbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3Qtb3B0aW9ucyxcbi5kay1zZWxlY3QtbXVsdGk6Zm9jdXMgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0LW11bHRpOmhvdmVyLFxuLmRrLXNlbGVjdC1tdWx0aTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmRrLXNlbGVjdGVkOmhvdmVyLFxuLmRrLXNlbGVjdGVkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjNiNGI5O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5kay1zZWxlY3RlZDpob3ZlcjpiZWZvcmUsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0ZWQ6aG92ZXI6YWZ0ZXIsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2IzYjRiOTsgfVxuXG4uZGstc2VsZWN0LWRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogLjY7XG4gIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmhvdmVyLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cblxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6aG92ZXI6YmVmb3JlLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6Zm9jdXM6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpob3ZlcjphZnRlcixcbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmZvY3VzOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IH1cblxuc2VsZWN0W2RhdGEtZGtjYWNoZWlkXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBIVE1MXG4gKi9cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qKlxuICogQm9keVxuICovXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1O1xuICBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgU3RkXCIsIEF2ZW5pciwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIGJvZHkgLmNlbnRlciwgYm9keSAuY2VudGVyLS1zbWFsbCwgYm9keSAucGFnZV9fZGVmYXVsdCA+IC5jZW50ZXIsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCBib2R5IC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGEsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGJvZHkgYSB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgYm9keSAuY2VudGVyOmFmdGVyLCBib2R5IC5jZW50ZXItLXNtYWxsOmFmdGVyLCBib2R5IC5wYWdlX19kZWZhdWx0ID4gLmNlbnRlcjphZnRlciwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sOmFmdGVyLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2w6YWZ0ZXIsIGJvZHkgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYTphZnRlciwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYm9keSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIGJvZHkgLmNlbnRlcjpiZWZvcmUsIGJvZHkgLmNlbnRlci0tc21hbGw6YmVmb3JlLCBib2R5IC5wYWdlX19kZWZhdWx0ID4gLmNlbnRlcjpiZWZvcmUsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbDpiZWZvcmUsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbDpiZWZvcmUsIGJvZHkgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYTpiZWZvcmUsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGJvZHkgYTpiZWZvcmUsIGJvZHkgLmNlbnRlcjphZnRlciwgYm9keSAuY2VudGVyLS1zbWFsbDphZnRlciwgYm9keSAucGFnZV9fZGVmYXVsdCA+IC5jZW50ZXI6YWZ0ZXIsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbDphZnRlciwgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sOmFmdGVyLCBib2R5IC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGE6YWZ0ZXIsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGJvZHkgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgYm9keSAuY2VudGVyOmFmdGVyLCBib2R5IC5jZW50ZXItLXNtYWxsOmFmdGVyLCBib2R5IC5wYWdlX19kZWZhdWx0ID4gLmNlbnRlcjphZnRlciwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sOmFmdGVyLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2w6YWZ0ZXIsIGJvZHkgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYTphZnRlciwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYm9keSBhOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICBib2R5IC5jZW50ZXIsIGJvZHkgLmNlbnRlci0tc21hbGwsIGJvZHkgLnBhZ2VfX2RlZmF1bHQgPiAuY2VudGVyLCBib2R5IC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgYm9keSAubW9iaWxlX21lbnUgLm1lbnUgLm1lbnUtaXRlbSBhLCAubW9iaWxlX21lbnUgLm1lbnUgLm1lbnUtaXRlbSBib2R5IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIGJvZHkgLmNlbnRlciwgYm9keSAuY2VudGVyLS1zbWFsbCwgYm9keSAucGFnZV9fZGVmYXVsdCA+IC5jZW50ZXIsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCBib2R5IC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGEsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGJvZHkgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH0gfVxuICAgIGJvZHkgLmNlbnRlci0tc21hbGwsIGJvZHkgLnBhZ2VfX2RlZmF1bHQgPiAuY2VudGVyLCBib2R5IC5wYWdlX19kZWZhdWx0ID4gLmNlbnRlci0tc21hbGwsIGJvZHkgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLnBhZ2VfX2RlZmF1bHQgPiBhLCAubW9iaWxlX21lbnUgLm1lbnUgLm1lbnUtaXRlbSBib2R5IC5wYWdlX19kZWZhdWx0ID4gYSwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wge1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDsgfVxuICAgIGJvZHkgLmNlbnRlci0tbWF4aSB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qKlxuICogIENvbnRhaW5lciAmIENvbnRlbnRcbiAqL1xuI2NvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5jb250ZW50IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMjBweDsgfVxuXG4vKipcbiAqIExpbmtcbiAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZjAwMDA7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLm1haW5fbGluaywgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluayB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFN0ZFwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMTVzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC4xNXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgLm1haW5fbGluazpob3ZlciwgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluazpob3ZlciwgLm1haW5fbGluazpmb2N1cywgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluazpmb2N1cyxcbiAgYTpob3ZlciAubWFpbl9saW5rLFxuICBhOmhvdmVyIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbmssIC5lcnJvcjQwNFxuICBhOmhvdmVyIC5lcnJvcjQwNF9fbGluayxcbiAgYTpmb2N1cyAubWFpbl9saW5rLFxuICBhOmZvY3VzIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbmssIC5lcnJvcjQwNFxuICBhOmZvY3VzIC5lcnJvcjQwNF9fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDsgfVxuICAgIC5tYWluX2xpbms6aG92ZXI6YmVmb3JlLCAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmhvdmVyOmJlZm9yZSwgLm1haW5fbGluazpmb2N1czpiZWZvcmUsIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbms6Zm9jdXM6YmVmb3JlLFxuICAgIGE6aG92ZXIgLm1haW5fbGluazpiZWZvcmUsXG4gICAgYTpob3ZlciAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmJlZm9yZSwgLmVycm9yNDA0XG4gICAgYTpob3ZlciAuZXJyb3I0MDRfX2xpbms6YmVmb3JlLFxuICAgIGE6Zm9jdXMgLm1haW5fbGluazpiZWZvcmUsXG4gICAgYTpmb2N1cyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmJlZm9yZSwgLmVycm9yNDA0XG4gICAgYTpmb2N1cyAuZXJyb3I0MDRfX2xpbms6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5tYWluX2xpbms6YmVmb3JlLCAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjE1cyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuMTVzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMTVzIGVhc2Utb3V0OyB9XG5cbi8qKlxuICogSW1hZ2VzXG4gKi9cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFBhcmFncmFwaFxuICovXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAuaHlwaGVuYXRlLW1vYmlsZSwgLmhlYWRpbmdfX3RpdGxlLCAuaGVhZGluZ19fdGV4dCwgLnBhZ2VfX2hvbWUgLmhlYWRpbmcgLnNsaWRlX190aXRsZSwgLnBhZ2VfX2hvbWUgLmhlYWRpbmcgLnNsaWRlX19jb250ZW50IHtcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgIC1vLWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bzsgfSB9XG5cbi8qKlxuICogVGl0bGVcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDMuNWVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFN0ZFwiLCBBdmVuaXIsIEZ1dHVyYSwgXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOEY4RjhGO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5oMiB7XG4gIG1hcmdpbjogMDsgfVxuXG5saSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8qKlxuICogSWNvblxuICovXG4uaWNvbiwgLmJyZWFkY3J1bWIgYSwgLnd5c2l3eWcgYmxvY2txdW90ZSwgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5zcXVhcmVfX2J1dHRvbi0tbmV4dCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodCwgYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3QsIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5LnRhYmxldCAuZmllbGQtLXNlbGVjdCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIC5uZi1yZXNwb25zZS1tc2csIC5kay1zZWxlY3RlZCwgLnRhYnNfX2Fycm93LCAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLm5leHQsIC5jaXRhdGlvbl9fdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaWNvbjpiZWZvcmUsIC5icmVhZGNydW1iIGE6YmVmb3JlLCAud3lzaXd5ZyBibG9ja3F1b3RlOmJlZm9yZSwgLnNxdWFyZV9fYnV0dG9uLS1wcmV2OmJlZm9yZSwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1sZWZ0OmJlZm9yZSwgLnNxdWFyZV9fYnV0dG9uLS1uZXh0OmJlZm9yZSwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodDpiZWZvcmUsIGJvZHkubW9iaWxlIC5maWVsZC0tc2VsZWN0OmJlZm9yZSwgYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCBib2R5LnRhYmxldCAuZmllbGQtLXNlbGVjdDpiZWZvcmUsIGJvZHkudGFibGV0IC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmJlZm9yZSwgLm5mLXJlc3BvbnNlLW1zZzpiZWZvcmUsIC5kay1zZWxlY3RlZDpiZWZvcmUsIC50YWJzX19hcnJvdzpiZWZvcmUsIC5wYWdpbmF0aW9uIC5wcmV2OmJlZm9yZSwgLnBhZ2luYXRpb24gLm5leHQ6YmVmb3JlLCAuY2l0YXRpb25fX3RleHQ6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKipcbiAqIExpc3RzXG4gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIFZpZGVvXG4gKi9cbnZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuKjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbio6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxheS1idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5OTlweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4vKipcbiAqIEhncm91cFxuICovXG4uaGdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZ3JvdXBfX3RpdGxlLFxuICAuaGdyb3VwX190aXRsZSBwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMzc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5oZ3JvdXBfX3RpdGxlIHN0cm9uZyxcbiAgICAuaGdyb3VwX190aXRsZSBiLFxuICAgIC5oZ3JvdXBfX3RpdGxlIHAgc3Ryb25nLFxuICAgIC5oZ3JvdXBfX3RpdGxlIHAgYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41OTA5ZW07IH1cbiAgLmhncm91cF9fc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogIzZkNmU3MTsgfVxuICAuaGdyb3VwX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5oZ3JvdXBfX2xpbmstLXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3MHB4KSB7XG4gICAgICAgIC5oZ3JvdXBfX2xpbmstLXJpZ2h0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaGdyb3VwX19jb250ZW50IHtcbiAgICB3aWR0aDogNDguNTcxNDMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3MHB4KSB7XG4gICAgICAuaGdyb3VwX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTcwcHgpIHtcbiAgICAuaGdyb3VwLS1oYXMtY29udGVudCAuaGdyb3VwX193cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLyoqXG4gKiBTbGlkZXIgYXJyb3dzXG4gKi9cbi5zbGlkZXJfX2Fycm93czpiZWZvcmUsIC5zbGlkZXJfX2Fycm93czphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAyICovIH1cblxuLnNsaWRlcl9fYXJyb3dzOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlcl9fYXJyb3dzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNsaWRlcl9fYXJyb3dzIC5sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qKlxuICogTG9jYXRpb25zXG4gKi9cbi5zbGlkZXItbG9jYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWRlci1sb2NhdGlvbjpiZWZvcmUsIC5zbGlkZXItbG9jYXRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovIH1cbiAgLnNsaWRlci1sb2NhdGlvbjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWRlci1sb2NhdGlvbl9fbWFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiBjYWxjKDUwJSArICgoMTQ0MHB4ICogMTApIC8gMTAwKSArIDgwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgIC5zbGlkZXItbG9jYXRpb25fX21hcCB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtICgoMTQ0MHB4ICogNSkgLyAxMDApICsgODBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAuc2xpZGVyLWxvY2F0aW9uX19tYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLnNsaWRlci1sb2NhdGlvbiAuc2xpZGVyLWxvY2F0aW9uX19jb250ZW50IHtcbiAgICB3aWR0aDogNjAlO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgLnNsaWRlci1sb2NhdGlvbiAuc2xpZGVyLWxvY2F0aW9uX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQ1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5zbGlkZXItbG9jYXRpb24gLnNsaWRlci1sb2NhdGlvbl9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIC5zbGlkZXItbG9jYXRpb25fX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgLnNsaWRlci1sb2NhdGlvbl9fc2xpZGVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpOyB9IH1cbiAgLnNsaWRlci1sb2NhdGlvbl9fc2xpZGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgLnNsaWRlci1sb2NhdGlvbl9fc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gIC5zbGlkZXItbG9jYXRpb25fX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zbGlkZXItbG9jYXRpb25fX25hdmlnYXRpb246YmVmb3JlLCAuc2xpZGVyLWxvY2F0aW9uX19uYXZpZ2F0aW9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAvKiAyICovIH1cbiAgICAuc2xpZGVyLWxvY2F0aW9uX19uYXZpZ2F0aW9uOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5zbGlkZXItbG9jYXRpb25fX25hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnNsaWRlci1sb2NhdGlvbl9fbmF2aWdhdGlvbiBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5zbGlkZXItbG9jYXRpb25fX25hdmlnYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyoqXG4gKiBMaXN0aW5nIGFjdGl2aXRpZXNcbiAqL1xuLmxpc3RpbmctYWN0aXZpdGllcyxcbi5saXN0aW5nLXNlY3RvcnMsXG4ubGlzdGluZy1yZWFsaXNhdGlvbnMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmxpc3RpbmctYWN0aXZpdGllczpiZWZvcmUsIC5saXN0aW5nLWFjdGl2aXRpZXM6YWZ0ZXIsXG4gIC5saXN0aW5nLXNlY3RvcnM6YmVmb3JlLFxuICAubGlzdGluZy1zZWN0b3JzOmFmdGVyLFxuICAubGlzdGluZy1yZWFsaXNhdGlvbnM6YmVmb3JlLFxuICAubGlzdGluZy1yZWFsaXNhdGlvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovIH1cbiAgLmxpc3RpbmctYWN0aXZpdGllczphZnRlcixcbiAgLmxpc3Rpbmctc2VjdG9yczphZnRlcixcbiAgLmxpc3RpbmctcmVhbGlzYXRpb25zOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy1hY3Rpdml0aWVzIGxpLFxuICAubGlzdGluZy1zZWN0b3JzIGxpLFxuICAubGlzdGluZy1yZWFsaXNhdGlvbnMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBtYXJnaW4tYm90dG9tOiAyLjg1NzE0JTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNiM2I0Yjk7IH1cbiAgICAubGlzdGluZy1hY3Rpdml0aWVzIGxpOmJlZm9yZSxcbiAgICAubGlzdGluZy1zZWN0b3JzIGxpOmJlZm9yZSxcbiAgICAubGlzdGluZy1yZWFsaXNhdGlvbnMgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLmxpc3RpbmctYWN0aXZpdGllcyBsaSxcbiAgICAgIC5saXN0aW5nLXNlY3RvcnMgbGksXG4gICAgICAubGlzdGluZy1yZWFsaXNhdGlvbnMgbGkge1xuICAgICAgICB3aWR0aDogNDguNTcxNDMlO1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAubGlzdGluZy1hY3Rpdml0aWVzIGxpOm50aC1jaGlsZCgybiArIDEpLFxuICAgICAgICAubGlzdGluZy1zZWN0b3JzIGxpOm50aC1jaGlsZCgybiArIDEpLFxuICAgICAgICAubGlzdGluZy1yZWFsaXNhdGlvbnMgbGk6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmxpc3RpbmctYWN0aXZpdGllcyBsaTpudGgtY2hpbGQoMm4gKyAyKSxcbiAgICAgICAgLmxpc3Rpbmctc2VjdG9ycyBsaTpudGgtY2hpbGQoMm4gKyAyKSxcbiAgICAgICAgLmxpc3RpbmctcmVhbGlzYXRpb25zIGxpOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNTEuNDI4NTclO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5saXN0aW5nLWFjdGl2aXRpZXMgbGksXG4gICAgICAubGlzdGluZy1zZWN0b3JzIGxpLFxuICAgICAgLmxpc3RpbmctcmVhbGlzYXRpb25zIGxpIHtcbiAgICAgICAgd2lkdGg6IDMxLjQyODU3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLmxpc3RpbmctYWN0aXZpdGllcyBsaTpudGgtY2hpbGQoM24gKyAxKSxcbiAgICAgICAgLmxpc3Rpbmctc2VjdG9ycyBsaTpudGgtY2hpbGQoM24gKyAxKSxcbiAgICAgICAgLmxpc3RpbmctcmVhbGlzYXRpb25zIGxpOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5saXN0aW5nLWFjdGl2aXRpZXMgbGk6bnRoLWNoaWxkKDNuICsgMiksXG4gICAgICAgIC5saXN0aW5nLXNlY3RvcnMgbGk6bnRoLWNoaWxkKDNuICsgMiksXG4gICAgICAgIC5saXN0aW5nLXJlYWxpc2F0aW9ucyBsaTpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDM0LjI4NTcxJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5saXN0aW5nLWFjdGl2aXRpZXMgbGk6bnRoLWNoaWxkKDNuICsgMyksXG4gICAgICAgIC5saXN0aW5nLXNlY3RvcnMgbGk6bnRoLWNoaWxkKDNuICsgMyksXG4gICAgICAgIC5saXN0aW5nLXJlYWxpc2F0aW9ucyBsaTpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDY4LjU3MTQzJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9IH1cbiAgICAubGlzdGluZy1hY3Rpdml0aWVzIGxpIGEsXG4gICAgLmxpc3Rpbmctc2VjdG9ycyBsaSBhLFxuICAgIC5saXN0aW5nLXJlYWxpc2F0aW9ucyBsaSBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLyoqXG4gKiBMb2FkZXJcbiAqL1xuLmxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDsgfVxuICAubG9hZGVyIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxvYWRlciBzdmcgcmVjdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA3cHg7IH1cblxuLmxvYWRpbmdfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubG9hZGluZ19fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubG9hZGluZ19fY29udGVudC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sb2FkaW5nX19jb250ZW50IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLnRhYnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnRhYnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTc5LCAxODAsIDE4NSwgMCksIHJnYmEoMTc5LCAxODAsIDE4NSwgMC44KSk7IH1cbiAgLnRhYnNfX2xpc3Qge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRhYnNfX2xpc3RfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudGFic19faXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC50YWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLnRhYnNfX2l0ZW0uYWN0aXZlIC50YWJzX19saW5rIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjAwMDA7XG4gICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAudGFic19fbGluayB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYjNiNGI5O1xuICAgIGNvbG9yOiAjYjNiNGI5O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBib3JkZXIgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgIC50YWJzX19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMxYjFmMmU7XG4gICAgICBjb2xvcjogIzFiMWYyZTsgfVxuICAudGFic19fYXJyb3dzIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAudGFic19fYXJyb3dzLmlzLXZpc2libGUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAudGFic19fYXJyb3cge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5O1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgIC50YWJzX19hcnJvdzpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLnRhYnNfX2Fycm93Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnRhYnNfX2Fycm93OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgIC50YWJzX19hcnJvdzpkaXNhYmxlZCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLnRhYnNfX2Fycm93OmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTtcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7IH1cbiAgLnRhYnMtLXdpdGhhcnJvd3MgLnRhYnNfX2xpc3Qge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfVxuICAudGFicy0td2l0aGFycm93cyAudGFic19fbGlzdF9faW5uZXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IH1cbiAgICAudGFicy0td2l0aGFycm93cyAudGFic19fbGlzdF9faW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRhYnNfX3BhcnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGFic19fcGFydC5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBNZXNzYWdlIChlcnJvciAtIHN1Y2Nlc3MpXG4gKi9cbi5tZXNzYWdlLS1lcnJvciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyoqXG4gKiBCbG9ja3NcbiAqIC0+IGd1dHRlciA9IDEwMHB4XG4gKi9cbi5ub29fYmxvY2stLTUwOmJlZm9yZSwgLm5vb19ibG9jay0tNTA6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMiAqLyB9XG5cbi5ub29fYmxvY2stLTUwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5ub29fYmxvY2stLTUwIC5ub29fYmxvY2tfX3BhcnQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTAwcHgpIC8gMik7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubm9vX2Jsb2NrLS01MCAubm9vX2Jsb2NrX19wYXJ0OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpOyB9XG4gICAgLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLm5vb19ibG9jay0tNTAtLXJldmVyc2UuZmxleCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5ub29fYmxvY2stLTUwLS1yZXZlcnNlIC5ub29fYmxvY2tfX3BhcnQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTAwcHgpIC8gMik7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpOyB9XG4gICAgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAubm9vX2Jsb2NrLS01MC5mbGV4LCAubm9vX2Jsb2NrLS01MC0tcmV2ZXJzZS5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm5vb19ibG9jay0tNTAuZmxleDpiZWZvcmUsIC5ub29fYmxvY2stLTUwLmZsZXg6YWZ0ZXIsIC5ub29fYmxvY2stLTUwLS1yZXZlcnNlLmZsZXg6YmVmb3JlLCAubm9vX2Jsb2NrLS01MC0tcmV2ZXJzZS5mbGV4OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubm9vX2Jsb2NrLS01MCAubm9vX2Jsb2NrX19wYXJ0LCAubm9vX2Jsb2NrLS01MC0tcmV2ZXJzZSAubm9vX2Jsb2NrX19wYXJ0IHtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5ub29fYmxvY2stLTUwIC5ub29fYmxvY2tfX3BhcnRfX2ltZ3MsIC5ub29fYmxvY2stLTUwLS1yZXZlcnNlIC5ub29fYmxvY2tfX3BhcnRfX2ltZ3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydF9faW1ncywgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydF9faW1ncyB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cblxuLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydC0taW1nLFxuLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCwgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nLFxuLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAubm9vX2Jsb2NrLS01MCAubm9vX2Jsb2NrX19wYXJ0LS1pbWc6YmVmb3JlLFxuICAubm9vX2Jsb2NrLS01MCAubm9vX2Jsb2NrX19wYXJ0LS1pbWctLXNtYWxsOmJlZm9yZSwgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nOmJlZm9yZSxcbiAgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA3MC43NjkyMyU7IH1cblxuLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCwgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCB7XG4gIHdpZHRoOiAzMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC03MHB4O1xuICBtYXJnaW4tYm90dG9tOiAtNzBweDtcbiAgbGVmdDogMTAwcHg7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5ub29fYmxvY2stLTUwIC5ub29fYmxvY2tfX3BhcnQtLWltZy0tc21hbGwsIC5ub29fYmxvY2stLTUwLS1yZXZlcnNlIC5ub29fYmxvY2tfX3BhcnQtLWltZy0tc21hbGwge1xuICAgICAgbGVmdDogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLm5vb19ibG9jay0tNTAgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCwgLm5vb19ibG9jay0tNTAtLXJldmVyc2UgLm5vb19ibG9ja19fcGFydC0taW1nLS1zbWFsbCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbGVmdDogMzBweDsgfSB9XG5cbi5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4OyB9XG5cbi5ibG9ja19fa2V5ZmlndXJlc19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5pY29uLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIGEsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAud3lzaXd5ZyBibG9ja3F1b3RlLCAud3lzaXd5ZyAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYmxvY2txdW90ZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5zcXVhcmVfX2J1dHRvbi0tcHJldiwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5hcnJvdy0tbGVmdCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5hcnJvdy0tbGVmdCwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5zcXVhcmVfX2J1dHRvbi0tbmV4dCwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5hcnJvdy0tcmlnaHQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3QsIGJvZHkubW9iaWxlIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuZmllbGQtLXNlbGVjdCwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLm5mLWZpZWxkLWVsZW1lbnQsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSBib2R5LnRhYmxldCAuZmllbGQtLXNlbGVjdCwgYm9keS50YWJsZXQgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5maWVsZC0tc2VsZWN0LCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkudGFibGV0IC5saXN0LXNlbGVjdC13cmFwIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAubmYtZmllbGQtZWxlbWVudCwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5uZi1yZXNwb25zZS1tc2csIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuZGstc2VsZWN0ZWQsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAudGFic19fYXJyb3csIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5wcmV2LCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLnBhZ2luYXRpb24gLm5leHQsIC5wYWdpbmF0aW9uIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAubmV4dCwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5jaXRhdGlvbl9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuaWNvbi1jbGVhcm5lc3M6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDsgfVxuICAgIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuaWNvbjpiZWZvcmUsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuYnJlYWRjcnVtYiBhOmJlZm9yZSwgLmJyZWFkY3J1bWIgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIGE6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLnd5c2l3eWcgYmxvY2txdW90ZTpiZWZvcmUsIC53eXNpd3lnIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSBibG9ja3F1b3RlOmJlZm9yZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5zcXVhcmVfX2J1dHRvbi0tcHJldjpiZWZvcmUsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQ6YmVmb3JlLCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLmFycm93LS1sZWZ0OmJlZm9yZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5zcXVhcmVfX2J1dHRvbi0tbmV4dDpiZWZvcmUsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0OmJlZm9yZSwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5hcnJvdy0tcmlnaHQ6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCBib2R5Lm1vYmlsZSAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCBib2R5LnRhYmxldCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLmZpZWxkLS1zZWxlY3Q6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLm5mLWZpZWxkLWVsZW1lbnQ6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLm5mLXJlc3BvbnNlLW1zZzpiZWZvcmUsIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSAuZGstc2VsZWN0ZWQ6YmVmb3JlLCAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLnRhYnNfX2Fycm93OmJlZm9yZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5wYWdpbmF0aW9uIC5wcmV2OmJlZm9yZSwgLnBhZ2luYXRpb24gLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5wcmV2OmJlZm9yZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5wYWdpbmF0aW9uIC5uZXh0OmJlZm9yZSwgLnBhZ2luYXRpb24gLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5uZXh0OmJlZm9yZSwgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC5jaXRhdGlvbl9fdGV4dDpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgY29sb3I6ICNmZjAwMDA7IH1cbiAgLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIC52YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29sb3I6ICM2ZDZlNzE7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0gLnd5c2l3eWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNmQ2ZTcxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gIC5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMiddIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gIC5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMiddIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTsgfVxuICAgIC5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMiddIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gICAgLmJsb2NrX19rZXlmaWd1cmVzX19saXN0aW5nW2RhdGEtcm93bnVtYmVyPScyJ10gLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgLmJsb2NrX19rZXlmaWd1cmVzX19saXN0aW5nW2RhdGEtcm93bnVtYmVyPSczJ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAxcHgpIHtcbiAgLmJsb2NrX19rZXlmaWd1cmVzX19saXN0aW5nW2RhdGEtcm93bnVtYmVyPSczJ10gLmJsb2NrX19rZXlmaWd1cmVzX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwMHB4KSAvIDMpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2xpc3RpbmdbZGF0YS1yb3dudW1iZXI9JzMnXSAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2xpc3RpbmdbZGF0YS1yb3dudW1iZXI9JzMnXSAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gIC5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMyddIC5ibG9ja19fa2V5ZmlndXJlc19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2xpc3RpbmdbZGF0YS1yb3dudW1iZXI9JzMnXSAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2xpc3RpbmdbZGF0YS1yb3dudW1iZXI9JzMnXSAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4uYmxvY2tfX21hcCB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgLmJsb2NrX19tYXBfX21hcCB7XG4gICAgaGVpZ2h0OiAzNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gICAgICAuYmxvY2tfX21hcF9fbWFwIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogNzUwcHg7IH0gfVxuICAuYmxvY2tfX21hcF9fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgICAgLmJsb2NrX19tYXBfX3RleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAuYmxvY2tfX21hcF9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH0gfVxuICAgIC5ibG9ja19fbWFwX190ZXh0X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgLmJsb2NrX19tYXBfX3RleHRfX2dyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAgIC5ibG9ja19fbWFwX190ZXh0X19ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ibG9ja19fbWFwX190ZXh0X19ncm91cF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5ibG9ja19fbWFwX190ZXh0X19pbnRybyB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5ibG9ja19fbWFwX190ZXh0X19pbmZvcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5ibG9ja19fbWFwX190ZXh0X19pbmZvc19faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ibG9ja19fbWFwX190ZXh0X19pbmZvc19faXRlbSBhIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgICAgICAgIC5ibG9ja19fbWFwX190ZXh0X19pbmZvc19faXRlbSBhOmhvdmVyLCAuYmxvY2tfX21hcF9fdGV4dF9faW5mb3NfX2l0ZW0gYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgICAuYmxvY2tfX21hcF9fdGV4dF9faW5mb3NfX2l0ZW0gYSxcbiAgICAgICAgLmJsb2NrX19tYXBfX3RleHRfX2luZm9zX19pdGVtIHNwYW4ge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLmJsb2NrX19tYXBfX3RleHRfX2luZm9zX19pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIC5ibG9ja19fbWFwX190ZXh0X19pbmZvc19faXRlbS5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgLmJsb2NrX19tYXBfX3RleHRfX2xpbmtzIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmJsb2NrX19tYXBfX3RleHRfX2dyb3VwIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAuYmxvY2tfX21hcF9fdGV4dF9fZ3JvdXAuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmJsb2NrX190ZXh0c2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5ibG9ja19fdGV4dHNsaWRlciAud3lzaXd5Zzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuYmxvY2tfX3RleHRzbGlkZXJfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmJsb2NrX190ZXh0c2xpZGVyX19pbm5lciA+ICoge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwMHB4KSAvIDIpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgLmJsb2NrX190ZXh0c2xpZGVyX19pbm5lciA+ICoge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpOyB9IH1cbiAgLmJsb2NrX190ZXh0c2xpZGVyX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmJsb2NrX190ZXh0c2xpZGVyX190ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgICAgLmJsb2NrX190ZXh0c2xpZGVyX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9IH1cbiAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gICAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IC05OTk5OXB4OyB9XG4gICAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLnNsaWRlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5zbGlkZSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5zbGlkZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTAlOyB9XG4gICAgICAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuc2xpZGU6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG4gICAgICAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuc2xpZGUuY3VycmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovIH1cbiAgICAgICAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLnNsaWRlLmN1cnJlbnQ6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjIuNSU7IH1cbiAgICAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3dzIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5hcnJvdy0tbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5ibG9ja19pbWFnZXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5ibG9ja19pbWFnZXRleHQucmV2ZXJzZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgIC5ibG9ja19pbWFnZXRleHQucmV2ZXJzZS5ub19pbWFnZSAuYmxvY2tfaW1hZ2V0ZXh0X190ZXh0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgLmJsb2NrX2ltYWdldGV4dCA+ICoge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkgYW5kIChtYXgtd2lkdGg6IDEzNTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5ibG9ja19pbWFnZXRleHQgPiAqIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNTBweCkgLyAyKTsgfSB9XG5cbi5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5OyB9XG4gIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDcxLjQyODU3JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUxcHgpIHtcbiAgICAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9IH1cbiAgLmJsb2NrX2ltYWdldGV4dC5yZXZlcnNlIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gIC5ibG9ja19pbWFnZXRleHQucmV2ZXJzZSAuYmxvY2tfaW1hZ2V0ZXh0X190ZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5ibG9ja19pbWFnZXRleHQucmV2ZXJzZSAuYmxvY2tfaW1hZ2V0ZXh0X190ZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmJsb2NrX2ltYWdldGV4dF9fdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbi5ibG9ja19pbWFnZXRleHRfX2xpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5ibG9ja19pbWFnZXRleHRfX2xpbmtzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmJsb2NrX2ltYWdldGV4dF9fbGlua3MgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qKlxuICogU2xpZGVyc1xuICovXG4uc2xpZGVyX211bHRpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygoMTQ0MHB4KSArICgxMDAlIC0gMTQ0MHB4KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiA1OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgIC5zbGlkZXJfbXVsdGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cbiAgLnNsaWRlcl9tdWx0aV9fc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuc2xpZGVyX211bHRpX193cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xZW07IH1cbiAgLnNsaWRlcl9tdWx0aV9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7IH1cbiAgLnNsaWRlcl9tdWx0aV9fc2xpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiBjYWxjKCgxNDQwcHggLSA2MHB4KSAvIDMpO1xuICAgIGhlaWdodDogNDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gICAgLnNsaWRlcl9tdWx0aV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuc2xpZGVyX211bHRpX19zbGlkZS0tYmcge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5O1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5OyB9XG4gICAgICAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rOmhvdmVyIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNyk7IH1cbiAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluazpob3ZlciAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTsgfVxuICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjNiNGI5O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbms6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LCBoZWlnaHQgMC4ycyBlYXNlLW91dCwgb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LCBoZWlnaHQgMC4ycyBlYXNlLW91dCwgb3BhY2l0eSAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fdGl0bGUgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgICAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyAubWFpbl9saW5rLCAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbmssIC5lcnJvcjQwNCAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5lcnJvcjQwNF9fbGluayB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4OyB9XG4gICAgICAgICAgICAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5tYWluX2xpbms6YmVmb3JlLCAuc2xpZGVyX211bHRpX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbms6YmVmb3JlLCAuZXJyb3I0MDQgLnNsaWRlcl9tdWx0aV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbms6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuc2xpZGVyX211bHRpX19uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgLnNsaWRlcl9tdWx0aV9fbmF2aWdhdGlvbiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9IH1cbiAgICAuc2xpZGVyX211bHRpX19uYXZpZ2F0aW9uIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNsaWRlcl9tdWx0aV9fbmF2aWdhdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uc2xpZGVyX3dpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKCgxMDI0cHgpICsgKDEwMCUgLSAxMDI0cHgpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IDU4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA4NHB4KSB7XG4gICAgLnNsaWRlcl93aWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSB9XG4gIC5zbGlkZXJfd2lkZV9fc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2xpZGVyX3dpZGVfX3NsaWRlczpiZWZvcmUsIC5zbGlkZXJfd2lkZV9fc2xpZGVzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAvKiAyICovIH1cbiAgICAuc2xpZGVyX3dpZGVfX3NsaWRlczphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpZGVyX3dpZGVfX3dyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFlbTsgfVxuICAuc2xpZGVyX3dpZGVfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5OyB9XG4gIC5zbGlkZXJfd2lkZV9fc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDI0cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cbiAgICAuc2xpZGVyX3dpZGVfX3NsaWRlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNDEuOTkyMTklOyB9XG4gICAgLnNsaWRlcl93aWRlX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5zbGlkZXJfd2lkZV9fc2xpZGUtLWJnIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLnNsaWRlcl93aWRlX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5O1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5OyB9XG4gICAgICAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbms6aG92ZXIgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC43KTsgfVxuICAgICAgICAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbms6aG92ZXIgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3Nob3J0X2Rlc2Mge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07IH1cbiAgICAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjNiNGI5O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLnNsaWRlcl93aWRlX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgICAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LCBoZWlnaHQgMC4ycyBlYXNlLW91dCwgb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LCBoZWlnaHQgMC4ycyBlYXNlLW91dCwgb3BhY2l0eSAwLjJzIGVhc2Utb3V0OyB9XG4gICAgICAgIC5zbGlkZXJfd2lkZV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3Nob3J0X2Rlc2Mge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTsgfVxuICAgICAgICAgIC5zbGlkZXJfd2lkZV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAgIC5zbGlkZXJfd2lkZV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyAubWFpbl9saW5rLCAuc2xpZGVyX3dpZGVfX3NsaWRlIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3Nob3J0X2Rlc2MgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC5zbGlkZXJfd2lkZV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAgIC5zbGlkZXJfd2lkZV9fc2xpZGUgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluayAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyAubWFpbl9saW5rOmJlZm9yZSwgLnNsaWRlcl93aWRlX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbms6YmVmb3JlLCAuZXJyb3I0MDQgLnNsaWRlcl93aWRlX19zbGlkZSAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIC5lcnJvcjQwNF9fbGluazpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5zbGlkZXJfd2lkZV9fbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDg0cHgpIHtcbiAgICAgIC5zbGlkZXJfd2lkZV9fbmF2aWdhdGlvbiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9IH1cbiAgICAuc2xpZGVyX3dpZGVfX25hdmlnYXRpb24gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuc2xpZGVyX3dpZGVfX25hdmlnYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyoqXG4gKiBEb3VibGUgbGlua3NcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gIC53aWRlbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ud2lkZWxpbmtzX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzAwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcbiAgICAud2lkZWxpbmtzX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAud2lkZWxpbmtzX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMjUwcHg7IH0gfVxuICAud2lkZWxpbmtzX19pdGVtOmhvdmVyIC53aWRlbGlua3NfX2JnIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAud2lkZWxpbmtzX19pdGVtIC5tYWluX2xpbmssIC53aWRlbGlua3NfX2l0ZW0gLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC53aWRlbGlua3NfX2l0ZW0gLmVycm9yNDA0X19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwOyB9XG5cbi53aWRlbGlua3NfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIC53aWRlbGlua3NfX3RpdGxlIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ud2lkZWxpbmtzX190ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLndpZGVsaW5rc19fdGV4dCB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSB9XG5cbi53aWRlbGlua3NfX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLndpZGVsaW5rc19fYmdfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjJiMmI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxNTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAud2lkZWxpbmtzW2RhdGEtbnVtYmVyPScyJ10gLndpZGVsaW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZmZmZjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAud2lkZWxpbmtzW2RhdGEtbnVtYmVyPScyJ10gLndpZGVsaW5rc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiM2I0Yjk7IH0gfVxuXG4vKipcbiAqIExpbmsgT3ZlcmxheVxuICovXG4ubGlua19fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cblxuLyoqXG4gKiBQYWdpbmF0aW9uXG4gKi9cbi5wYWdpbmF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG8gNjBweDtcbiAgb3BhY2l0eTogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbjpiZWZvcmUsIC5wYWdpbmF0aW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMiAqLyB9XG4gIC5wYWdpbmF0aW9uOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNjBweCBhdXRvIDA7IH0gfVxuICAucGFnaW5hdGlvbiAucHJldixcbiAgLnBhZ2luYXRpb24gLm5leHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnBhZ2luYXRpb24gLnByZXY6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uIC5uZXh0OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6bm90KC5wcmV2KTpub3QoLm5leHQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpub3QoLnByZXYpOm5vdCgubmV4dCkuY3VycmVudCB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOm5vdCgucHJldik6bm90KC5uZXh0KTpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpub3QoLnByZXYpOm5vdCgubmV4dCk6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOm5vdCgucHJldik6bm90KC5uZXh0KTpob3Zlci5jdXJyZW50LCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOm5vdCgucHJldik6bm90KC5uZXh0KTpmb2N1cy5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7IH1cblxuLyoqXG4gKiBNYXBzIGluZm93aW5kb3dcbiAqL1xuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jIHtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDI3MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIC5nbS1zdHlsZSAuZ20tc3R5bGUtaXctYyA+IGJ1dHRvbiB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWQge1xuICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tYXBfX2luZm93aW5kb3cge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWFwX19pbmZvd2luZG93X19kb3RzIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tYXBfX2luZm93aW5kb3dfX2RvdHNfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLm1hcF9faW5mb3dpbmRvd19fZG90c19faXRlbS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOyB9XG4gIC5tYXBfX2luZm93aW5kb3cgLm1hcF9faW5mb3dpbmRvd19fYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gICAgLm1hcF9faW5mb3dpbmRvdyAubWFwX19pbmZvd2luZG93X19idG4tLXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5tYXBfX2luZm93aW5kb3cgLm1hcF9faW5mb3dpbmRvd19fYnRuLS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5tYXBfX2luZm93aW5kb3dfX2NvbnRlbnQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1hcF9faW5mb3dpbmRvd19fY29udGVudC5hY3RpdmUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tYXBfX2luZm93aW5kb3dfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5tYXBfX2luZm93aW5kb3dfX2xvZ28ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubWFwX19pbmZvd2luZG93X19uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5tYXBfX2luZm93aW5kb3dfX2FkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLm1hcF9faW5mb3dpbmRvd19faW5mb19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKipcbiAqIHJlYWxpc2F0aW9uc1xuICovXG4uY2VudGVyLnJlYWxpc2F0aW9uX190ZXh0LCBib2R5IC5yZWFsaXNhdGlvbl9fdGV4dC5jZW50ZXItLXNtYWxsLCBib2R5IC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbl9fdGV4dC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLnJlYWxpc2F0aW9uX190ZXh0LnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYS5yZWFsaXNhdGlvbl9fdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNWVtOyB9XG5cbi5zbGlkZXItcmVhbGlzYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2xpZGVyLXJlYWxpc2F0aW9uczpiZWZvcmUsIC5zbGlkZXItcmVhbGlzYXRpb25zOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMiAqLyB9XG4gIC5zbGlkZXItcmVhbGlzYXRpb25zOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpZGVyLXJlYWxpc2F0aW9ucyAuY2VudGVyLCAuc2xpZGVyLXJlYWxpc2F0aW9ucyBib2R5IC5jZW50ZXItLXNtYWxsLCBib2R5IC5zbGlkZXItcmVhbGlzYXRpb25zIC5jZW50ZXItLXNtYWxsLCAuc2xpZGVyLXJlYWxpc2F0aW9ucyBib2R5IC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnNsaWRlci1yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnNsaWRlci1yZWFsaXNhdGlvbnMgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5zbGlkZXItcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5zbGlkZXItcmVhbGlzYXRpb25zIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGEsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIC5zbGlkZXItcmVhbGlzYXRpb25zIGEge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5zbGlkZXItcmVhbGlzYXRpb25zX193cmFwcGVyIHtcbiAgICB3aWR0aDogNjYlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlcjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX193cmFwcGVyOmJlZm9yZSwgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIC8qIDEgKi9cbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAvKiAyICovIH1cbiAgICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cyB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX193cmFwcGVyIC5zbGlkZXItcmVhbGlzYXRpb25zX19hcnJvd3Mge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfSB9XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlciAuc2xpZGVyLXJlYWxpc2F0aW9uc19fYXJyb3dzLS1wcmV2LCAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlciAuc2xpZGVyLXJlYWxpc2F0aW9uc19fYXJyb3dzLS1uZXh0IHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cy0tcHJldiwgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cy0tbmV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cy0tcHJldiwgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cy0tbmV4dCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfSB9XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlciAuc2xpZGVyLXJlYWxpc2F0aW9uc19fYXJyb3dzLS1wcmV2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNSU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlciAuc2xpZGVyLXJlYWxpc2F0aW9uc19fYXJyb3dzLS1wcmV2IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOCU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX193cmFwcGVyIC5zbGlkZXItcmVhbGlzYXRpb25zX19hcnJvd3MtLXByZXYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfSB9XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fd3JhcHBlciAuc2xpZGVyLXJlYWxpc2F0aW9uc19fYXJyb3dzLS1uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTUlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3dyYXBwZXIgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2Fycm93cy0tbmV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOCU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX193cmFwcGVyIC5zbGlkZXItcmVhbGlzYXRpb25zX19hcnJvd3MtLW5leHQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5zbGlkZXItcmVhbGlzYXRpb25zX19jb250ZW50IHtcbiAgICB3aWR0aDogMzQlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2NvbnRlbnQge1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygoKDEwMCUgLSA2MHB4KSAvIDEwMCkgKiAzNCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19jb250ZW50OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUuNWVtOyB9IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fY29udGVudCAucHJvZHV0aW9uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjg3NWVtOyB9XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fY29udGVudCAucHJvZHV0aW9uX190aXRsZSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fY29udGVudCAucmVhbGlzYXRpb25fX3RleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19jb250ZW50IC5yZWFsaXNhdGlvbl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fY29udGVudF9fc2xpZGUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICByaWdodDogNTBweDsgfVxuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX2NvbnRlbnRfX3NsaWRlIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19jb250ZW50X19zbGlkZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gIC5zbGlkZXItcmVhbGlzYXRpb25zX19uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX25hdmlnYXRpb24gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fbmF2aWdhdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX25hdmlnYXRpb24ge1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3NsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fc2xpZGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fc2xpZGUuY3VycmVudCArIGRpdiB7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuc2xpZGVyLXJlYWxpc2F0aW9uc19fc2xpZGUuY3VycmVudCBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnNsaWRlci1yZWFsaXNhdGlvbnNfX3NsaWRlIGZpZ3VyZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi8qKlxuICogQ2l0YXRpb25cbiAqL1xuLmNpdGF0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jaXRhdGlvbl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5jaXRhdGlvbl9fdGV4dDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNTBweDtcbiAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgZm9udC1zaXplOiA3MnB4O1xuICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgLmNpdGF0aW9uX19uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLmNpdGF0aW9uX19yb2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKlxuICogU2hhcmUgbGlua1xuICovXG4uc2hhcmVfX2xpbmsge1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAuc2hhcmVfX2xpbms6aG92ZXIsIC5zaGFyZV9fbGluazpmb2N1cywgLnNoYXJlX19saW5rOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAuc2hhcmVfX2xpbmsuaWNvbi1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODsgfVxuICAuc2hhcmVfX2xpbmsuaWNvbi10d2l0dGVyIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1YWNlZTsgfVxuICAuc2hhcmVfX2xpbmsuaWNvbi1saW5rZWRpbiB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7IH1cblxuLyoqXG4gKiBMaXN0aW5nc1xuICovXG4ubGlzdGluZy1hY3Rpdml0aWVzX19pdGVtOmhvdmVyLFxuLmxpc3Rpbmctc2VjdG9yc19faXRlbTpob3ZlciB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5O1xuICBib3gtc2hhZG93OiAwIDhweCAxMnB4ICNiM2I0Yjk7IH1cbiAgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbTpob3Zlcl9fY29udGVudCxcbiAgLmxpc3Rpbmctc2VjdG9yc19faXRlbTpob3Zlcl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNyk7IH1cbiAgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbTpob3Zlcl9fc2hvcnRfZGVzYyxcbiAgLmxpc3Rpbmctc2VjdG9yc19faXRlbTpob3Zlcl9fc2hvcnRfZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTsgfVxuXG4ubGlzdGluZy1hY3Rpdml0aWVzX19pdGVtX190aXRsZSxcbi5saXN0aW5nLXNlY3RvcnNfX2l0ZW1fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGhlaWdodDogNzVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5saXN0aW5nLWFjdGl2aXRpZXNfX2l0ZW1fX3RpdGxlIHNwYW4sXG4gIC5saXN0aW5nLXNlY3RvcnNfX2l0ZW1fX3RpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubGlzdGluZy1hY3Rpdml0aWVzX19pdGVtX19saW5rLFxuLmxpc3Rpbmctc2VjdG9yc19faXRlbV9fbGluayB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjYjNiNGI5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ubGlzdGluZy1hY3Rpdml0aWVzX19pdGVtX19jb250ZW50LFxuLmxpc3Rpbmctc2VjdG9yc19faXRlbV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQsIGhlaWdodCAwLjJzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDsgfVxuXG4ubGlzdGluZy1hY3Rpdml0aWVzX19pdGVtX19zaG9ydF9kZXNjLFxuLmxpc3Rpbmctc2VjdG9yc19faXRlbV9fc2hvcnRfZGVzYyB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbV9fc2hvcnRfZGVzYyBwLFxuICAubGlzdGluZy1zZWN0b3JzX19pdGVtX19zaG9ydF9kZXNjIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5saXN0aW5nLWFjdGl2aXRpZXNfX2l0ZW1fX3Nob3J0X2Rlc2MgLm1haW5fbGluaywgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rLCAuZXJyb3I0MDQgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbmssXG4gIC5saXN0aW5nLXNlY3RvcnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLm1haW5fbGluayxcbiAgLmxpc3Rpbmctc2VjdG9yc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rLCAuZXJyb3I0MDRcbiAgLmxpc3Rpbmctc2VjdG9yc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbmsge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiA3NXB4OyB9XG4gICAgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbV9fc2hvcnRfZGVzYyAubWFpbl9saW5rOmJlZm9yZSwgLmxpc3RpbmctYWN0aXZpdGllc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmJlZm9yZSwgLmVycm9yNDA0IC5saXN0aW5nLWFjdGl2aXRpZXNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0X19saW5rOmJlZm9yZSxcbiAgICAubGlzdGluZy1zZWN0b3JzX19pdGVtX19zaG9ydF9kZXNjIC5tYWluX2xpbms6YmVmb3JlLFxuICAgIC5saXN0aW5nLXNlY3RvcnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluazpiZWZvcmUsIC5lcnJvcjQwNFxuICAgIC5saXN0aW5nLXNlY3RvcnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0X19saW5rOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5saXN0aW5nLW5ld3NfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubGlzdGluZy1uZXdzX19pdGVtX19kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzhGOEY4RjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmxpc3RpbmctbmV3c19faXRlbV9fY2F0ZWdvcmllcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2NhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2IzYjRiOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAubGlzdGluZy1uZXdzX19pdGVtX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubGlzdGluZy1uZXdzX19pdGVtX19saW5rOmJlZm9yZSwgLmxpc3RpbmctbmV3c19faXRlbV9fbGluazphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgLmxpc3RpbmctbmV3c19faXRlbV9fbGluazphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2xpbms6aG92ZXIsIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2xpbms6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAzNCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmxpc3RpbmctbmV3c19faXRlbV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNTAlOyB9IH1cbiAgLmxpc3RpbmctbmV3c19faXRlbV9fY29udGVudCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA2NiU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiA2NXB4IDcwcHg7XG4gICAgbWluLWhlaWdodDogMzgwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5saXN0aW5nLW5ld3NfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAubGlzdGluZy1uZXdzX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgLmxpc3RpbmctbmV3c19faXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfSB9XG4gIC5saXN0aW5nLW5ld3NfX2l0ZW1fX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5saXN0aW5nLW5ld3NfX2l0ZW1fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgLmxpc3RpbmctbmV3c19faXRlbV9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5saXN0aW5nLXBhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAgIC5saXN0aW5nLXBhZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC5saXN0aW5nLXBhZ2UgPiAqIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgIC5saXN0aW5nLXBhZ2UgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAxcHgpIHtcbiAgICAgIC5saXN0aW5nLXBhZ2UgPiAqIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpOyB9XG4gICAgICAgIC5saXN0aW5nLXBhZ2UgPiAqOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgIC5saXN0aW5nLXBhZ2UgPiAqIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpOyB9XG4gICAgICAgIC5saXN0aW5nLXBhZ2UgPiAqOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIC5saXN0aW5nLXBhZ2VfX2l0ZW1fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBjb2xvcjogIzZkNmU3MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgIC5saXN0aW5nLXBhZ2VfX2l0ZW1fX2xpbmsgYixcbiAgICAubGlzdGluZy1wYWdlX19pdGVtX19saW5rIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmxpc3RpbmctcGFnZV9faXRlbV9fbGluazpob3ZlciwgLmxpc3RpbmctcGFnZV9faXRlbV9fbGluazpmb2N1cywgLmxpc3RpbmctcGFnZV9faXRlbV9fbGluazphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi8qKlxuICogU2VhcmNoXG4gKi9cbi5zZWFyY2hfX3BhcnQge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICAuc2VhcmNoX19wYXJ0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKipcbiAqIEZpeGVkIHNvY2lhbCBsaW5rc1xuICovXG4uZml4ZWRfc29jaWFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMTUwcHg7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5maXhlZF9zb2NpYWxfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZml4ZWRfc29jaWFsX19saW5rOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5maXhlZF9zb2NpYWxfX2xpbms6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAuZml4ZWRfc29jaWFsX19saW5rLmljb24tZmFjZWJvb2s6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODsgfVxuICAgIC5maXhlZF9zb2NpYWxfX2xpbmsuaWNvbi10d2l0dGVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NWFjZWU7IH1cbiAgICAuZml4ZWRfc29jaWFsX19saW5rLmljb24tbGlua2VkaW46YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdiNTsgfVxuICAgIC5maXhlZF9zb2NpYWxfX2xpbmsuaWNvbi1pbnN0YWdyYW06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzczMzJCRTsgfVxuICAgIC5maXhlZF9zb2NpYWxfX2xpbmsuaWNvbi15b3V0dWJlOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRDI2MDI7IH1cbiAgICAuZml4ZWRfc29jaWFsX19saW5rLmljb24tZ29vZ2xlcGx1czphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQ0QjM5OyB9XG4gICAgLmZpeGVkX3NvY2lhbF9fbGluazpob3ZlciwgLmZpeGVkX3NvY2lhbF9fbGluazpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5maXhlZF9zb2NpYWxfX2xpbms6aG92ZXI6YWZ0ZXIsIC5maXhlZF9zb2NpYWxfX2xpbms6Zm9jdXM6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjIpOyB9XG5cbi5hY3Rpdml0aWVzX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDMwcHg7XG4gIG1hcmdpbi1ibG9jazogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuYWN0aXZpdGllc19fbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLmFjdGl2aXRpZXNfX2l0ZW0ge1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmMDAwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7IH1cbiAgLmFjdGl2aXRpZXNfX2l0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgLmFjdGl2aXRpZXNfX2l0ZW06aG92ZXI6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgYmFja2dyb3VuZDogIzJhMDAwMDsgfVxuICAuYWN0aXZpdGllc19faXRlbSAuaWNvbiwgLmFjdGl2aXRpZXNfX2l0ZW0gLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLmFjdGl2aXRpZXNfX2l0ZW0gYSwgLmFjdGl2aXRpZXNfX2l0ZW0gLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLmFjdGl2aXRpZXNfX2l0ZW0gYmxvY2txdW90ZSwgLmFjdGl2aXRpZXNfX2l0ZW0gLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAuYWN0aXZpdGllc19faXRlbSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5hY3Rpdml0aWVzX19pdGVtIC5hcnJvdy0tbGVmdCwgLmFjdGl2aXRpZXNfX2l0ZW0gLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAuYWN0aXZpdGllc19faXRlbSAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYWN0aXZpdGllc19faXRlbSAuYXJyb3ctLXJpZ2h0LCAuYWN0aXZpdGllc19faXRlbSBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLmFjdGl2aXRpZXNfX2l0ZW0gLmZpZWxkLS1zZWxlY3QsIC5hY3Rpdml0aWVzX19pdGVtIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAuYWN0aXZpdGllc19faXRlbSAubmYtZmllbGQtZWxlbWVudCwgLmFjdGl2aXRpZXNfX2l0ZW0gYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5hY3Rpdml0aWVzX19pdGVtIC5maWVsZC0tc2VsZWN0LCAuYWN0aXZpdGllc19faXRlbSBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLmFjdGl2aXRpZXNfX2l0ZW0gLm5mLWZpZWxkLWVsZW1lbnQsIC5hY3Rpdml0aWVzX19pdGVtIC5uZi1yZXNwb25zZS1tc2csIC5hY3Rpdml0aWVzX19pdGVtIC5kay1zZWxlY3RlZCwgLmFjdGl2aXRpZXNfX2l0ZW0gLnRhYnNfX2Fycm93LCAuYWN0aXZpdGllc19faXRlbSAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLmFjdGl2aXRpZXNfX2l0ZW0gLnByZXYsIC5hY3Rpdml0aWVzX19pdGVtIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAuYWN0aXZpdGllc19faXRlbSAubmV4dCwgLmFjdGl2aXRpZXNfX2l0ZW0gLmNpdGF0aW9uX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDE1cHg7IH1cbiAgLmFjdGl2aXRpZXNfX2l0ZW1fX2xpbmsge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgLmFjdGl2aXRpZXNfX2l0ZW0gLm1haW50aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFjdGl2aXRpZXNfX2l0ZW0gYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5sYXp5bG9hZGVkIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRlciB7XG4gIHotaW5kZXg6IDgwMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAuaGVhZGVyOmJlZm9yZSwgLmhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi8gfVxuICAuaGVhZGVyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4vKipcbiAqIExvZ29cbiAqL1xuLmxvZ28ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAyNjZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2VpZmZhZ2UtcmV5bmRlcnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAxMDAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAzNXB4IDA7IH1cblxuLmhlYWRlciAucmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtOyB9XG5cbi8qKlxuICogTWFpbiBuYXZpZ2F0aW9uXG4gKi9cbi5tZW51X19pdGVtX191bmRlcmxpbmUge1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTsgfVxuXG4uaGVhZGVyIC5tYWluLW5hdiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5oZWFkZXIgLm1haW4tbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuaGVhZGVyIC5tYWluLW5hdiB1bDpiZWZvcmUsIC5oZWFkZXIgLm1haW4tbmF2IHVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAvKiAyICovIH1cbiAgICAuaGVhZGVyIC5tYWluLW5hdiB1bDphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5oZWFkZXIgLm1haW4tbmF2IHVsIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDUycHggMjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSBhOmhvdmVyIC5tZW51X19pdGVtX191bmRlcmxpbmUsXG4gICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSBhOmZvY3VzIC5tZW51X19pdGVtX191bmRlcmxpbmUge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7IH1cbiAgICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIC5tZW51X19pdGVtX191bmRlcmxpbmUge1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIC5tZW51X19pdGVtX191bmRlcmxpbmU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgICAgICAgICBhbmltYXRpb246IG1lbnVfaXRlbV91bmRlcmxpbmVfYWN0aXZlIDAuNnMgMC4zcyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKSBmb3J3YXJkczsgfVxuICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEgLm1lbnVfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSAubWVudV9faXRlbV9fY29udGVudDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYjNiNGI5O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNiM2I0Yjk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDsgfVxuICAgICAgLmhlYWRlciAubWFpbi1uYXYgdWwgbGkgLm1lbnVfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXIgLm1haW4tbmF2IHVsIGxpIC5zdWItbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICAgICAgdG9wOiA4MCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgMC41cyBlYXNlLW91dCwgbGVmdCAwcyAwLjJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMHMgMC4ycyBlYXNlLW91dDsgfVxuICAgICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSAuc3ViLW1lbnUgLm1lbnVfX2l0ZW1fX3VuZGVybGluZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSAuc3ViLW1lbnUgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAgICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSAuc3ViLW1lbnUgLm1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSAuc3ViLW1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAgICAgICAgIC5oZWFkZXIgLm1haW4tbmF2IHVsIGxpIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gICAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCBsaSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyIC5tYWluLW5hdiB1bCA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiBhIC5tZW51X19pdGVtX191bmRlcmxpbmUge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnVfX2l0ZW1fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnVfX2l0ZW1fX2NvbnRlbnQ6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiBhIC5tZW51X19pdGVtX19jb250ZW50OmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTsgfVxuICAuaGVhZGVyIC5tYWluLW5hdiB1bCA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IC5zdWItbWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAuaGVhZGVyIC5tYWluLW5hdiB1bCA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IC5zdWItbWVudSAubWVudV9faXRlbV9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiAuc3ViLW1lbnUgLm1lbnVfX2l0ZW1fX2NvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5oZWFkZXIgLm1haW4tbmF2IHVsID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmhlYWRlciAubWFpbi1uYXYgdWwgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgLnN1Yi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaGVhZGVyIC5tYWluLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhhbWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luLXRvcDogNDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmhhbWJtZW51IC5saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgIC5oYW1ibWVudSAubGluZS0tMiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuICAgIC5oYW1ibWVudSAubGluZS0tMyB7XG4gICAgICBib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmhhbWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNDBweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIC5oYW1ibWVudSB7XG4gICAgICByaWdodDogMWVtOyB9IH1cblxuLm1vYmlsZV9tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5tb2JpbGVfbWVudV9faGVhZCB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC5tb2JpbGVfbWVudV9faGVhZDpiZWZvcmUsIC5tb2JpbGVfbWVudV9faGVhZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgLm1vYmlsZV9tZW51X19oZWFkOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1vYmlsZV9tZW51X19oZWFkX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9XG4gICAgLm1vYmlsZV9tZW51X19oZWFkIC5hY3Rpb25fX2dyb3VwIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLm1vYmlsZV9tZW51X19oZWFkIC5hY3Rpb25fX2dyb3VwOmJlZm9yZSwgLm1vYmlsZV9tZW51X19oZWFkIC5hY3Rpb25fX2dyb3VwOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIC8qIDIgKi8gfVxuICAgICAgLm1vYmlsZV9tZW51X19oZWFkIC5hY3Rpb25fX2dyb3VwOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubW9iaWxlX21lbnVfX2hlYWQgLmxhbmd1YWdlX3N3aXRjaGVyLFxuICAgIC5tb2JpbGVfbWVudV9faGVhZCAuY2xvc2VfX2J1dHRvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDsgfVxuICAgICAgLm1vYmlsZV9tZW51X19oZWFkIC5sYW5ndWFnZV9zd2l0Y2hlcjpob3ZlcixcbiAgICAgIC5tb2JpbGVfbWVudV9faGVhZCAuY2xvc2VfX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAubW9iaWxlX21lbnVfX2hlYWQgLmxhbmd1YWdlX3N3aXRjaGVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLm1vYmlsZV9tZW51X19oZWFkIC5sYW5ndWFnZV9zd2l0Y2hlcjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1vYmlsZV9tZW51X19oZWFkIC5jbG9zZV9fYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5tb2JpbGVfbWVudV9faGVhZCAuY2xvc2VfX2J1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMWVtOyB9IH1cbiAgLm1vYmlsZV9tZW51IC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAubW9iaWxlX21lbnUgLm1lbnUgLm1lbnUtaXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgY29sb3I6ICMxYjFmMmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI3LCAzMSwgNDYsIDAuNik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgICAgICAubW9iaWxlX21lbnUgLm1lbnUgLm1lbnUtaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzksIDE4MCwgMTg1LCAwLjEpOyB9XG4gICAgLm1vYmlsZV9tZW51IC5tZW51ID4gLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgLm1vYmlsZV9tZW51IC5tZW51IC5zdWItbWVudSA+IC5tZW51LWl0ZW0gYSB7XG4gICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCAjZmZmOyB9XG4gICAgLm1vYmlsZV9tZW51IC5tZW51IC5zdWItbWVudSAuc3ViLW1lbnUgPiAubWVudS1pdGVtIGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDQwcHggc29saWQgI2ZmZjsgfVxuICAgIC5tb2JpbGVfbWVudSAubWVudSAuY3VycmVudF9wYWdlX2FuY2VzdG9yLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICBjb2xvcjogIzFiMWYyZTtcbiAgICAgIGNvbG9yOiByZ2JhKDI3LCAzMSwgNDYsIDAuNik7IH1cbiAgICAubW9iaWxlX21lbnUgLm1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuXG4vKipcbiAqIExhbmd1YWdlIHN3aXRjaGVyXG4gKi9cbi5sYW5ndWFnZV9zd2l0Y2hlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogNTMuNXB4IDA7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLnJpZ2h0ID4gLmxhbmd1YWdlX3N3aXRjaGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubGFuZ3VhZ2Vfc3dpdGNoZXI6YmVmb3JlLCAubGFuZ3VhZ2Vfc3dpdGNoZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovIH1cbiAgLmxhbmd1YWdlX3N3aXRjaGVyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGFuZ3VhZ2Vfc3dpdGNoZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gIC5sYW5ndWFnZV9zd2l0Y2hlciAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2FjdGl2ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiM2I0Yjk7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjYjNiNGI5O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDsgfVxuICAubGFuZ3VhZ2Vfc3dpdGNoZXIgLmxhbmd1YWdlX3N3aXRjaGVyX19saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTVweCA1cHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgIC5sYW5ndWFnZV9zd2l0Y2hlciAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2xpc3QgLmxhbmd1YWdlX3N3aXRjaGVyX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgLmxhbmd1YWdlX3N3aXRjaGVyIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2l0ZW0gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxLjVlbSAwLjRlbTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2Utb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLmxhbmd1YWdlX3N3aXRjaGVyIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2l0ZW0gYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgLmxhbmd1YWdlX3N3aXRjaGVyIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5sYW5ndWFnZV9zd2l0Y2hlciBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGFuZ19zd2l0Y2hlcl9vcGVuIC5sYW5ndWFnZV9zd2l0Y2hlcl9fYWN0aXZlOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4ubGFuZ19zd2l0Y2hlcl9vcGVuIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5iYWNrVG9Ub3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJvdHRvbTogNWVtO1xuICByaWdodDogLTUwcHg7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4ICNiM2I0Yjk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICNiM2I0Yjk7IH1cbiAgLmJhY2tUb1RvcDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wcmVfZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICAucHJlX2Zvb3RlciAucHJlZm9vdGVyLS1sb2NhdGlvbl9fbWFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtICg1OCUgKyA4MHB4KSAgKSk7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5wcmVfZm9vdGVyIC5wcmVmb290ZXItLWxvY2F0aW9uX19tYXAge1xuICAgICAgICB3aWR0aDogNDguNTcxNDMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjg1NzE0JTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLnByZV9mb290ZXIgLnByZWZvb3Rlci0tbG9jYXRpb25fX21hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucHJlX2Zvb3RlciAucHJlZm9vdGVyLS1sb2NhdGlvbl9fbWFwOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDUwJTsgfSB9XG4gIC5wcmVfZm9vdGVyIC5wcmVmb290ZXItLWxvY2F0aW9uX190ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX3NsaWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAucHJlX2Zvb3RlciAuZm9vdGVyX19sb2NhdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42ODc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9fZGV0YWlscyB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm9fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG4gICAgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyAuaWNvbiwgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyAuYnJlYWRjcnVtYiBhLCAuYnJlYWRjcnVtYiAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIGEsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyBibG9ja3F1b3RlLCAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5zcXVhcmVfX2J1dHRvbi0tcHJldiwgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLmFycm93LS1sZWZ0LCAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5zcXVhcmVfX2J1dHRvbi0tbmV4dCwgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5hcnJvdy0tcmlnaHQsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3QsIGJvZHkubW9iaWxlIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLmZpZWxkLS1zZWxlY3QsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLm5mLWZpZWxkLWVsZW1lbnQsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLmZpZWxkLS1zZWxlY3QsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkudGFibGV0IC5saXN0LXNlbGVjdC13cmFwIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLm5mLWZpZWxkLWVsZW1lbnQsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLm5mLXJlc3BvbnNlLW1zZywgLnByZV9mb290ZXIgLnNsaWRlci1sb2NhdGlvbl9faW5mbyAuZGstc2VsZWN0ZWQsIC5wcmVfZm9vdGVyIC5zbGlkZXItbG9jYXRpb25fX2luZm8gLnRhYnNfX2Fycm93LCAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5wYWdpbmF0aW9uIC5wcmV2LCAucGFnaW5hdGlvbiAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5wcmV2LCAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5uZXh0LCAucHJlX2Zvb3RlciAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIC5jaXRhdGlvbl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnByZV9mb290ZXIgKyAuZm9vdGVyIC5jZW50ZXIsIC5wcmVfZm9vdGVyICsgLmZvb3RlciBib2R5IC5jZW50ZXItLXNtYWxsLCBib2R5IC5wcmVfZm9vdGVyICsgLmZvb3RlciAuY2VudGVyLS1zbWFsbCwgYm9keSAucHJlX2Zvb3RlciArIC5mb290ZXIgLnBhZ2VfX2RlZmF1bHQgPiAuY2VudGVyLCAucHJlX2Zvb3RlciArIC5mb290ZXIgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCBib2R5IC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5wcmVfZm9vdGVyICsgLmZvb3RlciAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucHJlX2Zvb3RlciArIC5mb290ZXIgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5wcmVfZm9vdGVyICsgLmZvb3RlciAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucHJlX2Zvb3RlciArIC5mb290ZXIgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYSwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLnByZV9mb290ZXIgKyAuZm9vdGVyIGEge1xuICBwYWRkaW5nLXRvcDogNi41NjI1cmVtOyB9XG5cbi5mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvb3RlciAubm9vbWlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4MXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmZvb3RlciAubm9vbWlhOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MXB4IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLW5vb21pYS0tZGFyay5zdmcpOyB9XG4gICAgLmZvb3RlciAubm9vbWlhOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODFweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbG9nby1ub29taWEtLWRhcmsuc3ZnKTsgfVxuICAgIC5mb290ZXIgLm5vb21pYTpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzFweCkge1xuICAgIC5mb290ZXJfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5mb290ZXJfX2lubmVyIC5mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxOyB9IH1cbiAgLmZvb3Rlcl9fbG9nbyB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ29fZWlmZmFnZS13aGl0ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRleHQtaW5kZW50OiAxMDAxJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiA5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICAuZm9vdGVyX19sb2dvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5mb290ZXJfX2xvZ28ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAuZm9vdGVyX19sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcxcHgpIHtcbiAgICAgIC5mb290ZXJfX2xvZ28gKyAuZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuZm9vdGVyX19sb2dvICsgLmZvb3Rlcl9fY29udGVudCAubmV0d29ya3Mge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTsgfSB9XG4gIC5mb290ZXIgLmZvb3Rlcl9fYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIyYjJiOyB9XG4gIC5mb290ZXIgLmNlbnRlciwgLmZvb3RlciBib2R5IC5jZW50ZXItLXNtYWxsLCBib2R5IC5mb290ZXIgLmNlbnRlci0tc21hbGwsIC5mb290ZXIgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCBib2R5IC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5mb290ZXIgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLmZvb3RlciAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLmZvb3RlciAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAuZm9vdGVyIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGEsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIC5mb290ZXIgYSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cblxuLyoqXG4gKiBDb3B5cmlnaHRcbiAqL1xuLmNvcHlyaWdodCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAuY29weXJpZ2h0OmJlZm9yZSwgLmNvcHlyaWdodDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDIgKi8gfVxuICAuY29weXJpZ2h0OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29weXJpZ2h0IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jb3B5cmlnaHQgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xuICAgICAgLmNvcHlyaWdodCBzbWFsbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4vKipcbiAqIEZvb3Rlci1uYXZcbiAqL1xuLmZvb3Rlci1uYXYge1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbWFyZ2luLXRvcDogMWVtOyB9IH1cbiAgLmZvb3Rlci1uYXYgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZvb3Rlci1uYXYgdWw6YmVmb3JlLCAuZm9vdGVyLW5hdiB1bDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgLmZvb3Rlci1uYXYgdWw6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5mb290ZXItbmF2IHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFlbTsgfSB9XG4gICAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuICAgICAgLmZvb3Rlci1uYXYgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICogRm9vdGVyLWxpbmtzXG4gKi9cbi5mb290ZXItbGlua3Mge1xuICBjbGVhcjogYm90aDsgfVxuICAuZm9vdGVyLWxpbmtzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgICAuZm9vdGVyLWxpbmtzIHVsOmJlZm9yZSwgLmZvb3Rlci1saW5rcyB1bDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLyogMiAqLyB9XG4gICAgLmZvb3Rlci1saW5rcyB1bDphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xuICAgICAgLmZvb3Rlci1saW5rcyB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87IH0gfVxuICAgIC5mb290ZXItbGlua3MgdWwgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmZvb3Rlci1saW5rcyB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmZvb3Rlcl9fYm90dG9tX19jZW50ZXIge1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLyoqXG4gKiBOZXR3b3Jrc1xuICovXG4ubmV0d29ya3Mge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAubmV0d29ya3Mge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTsgfSB9XG4gIC5uZXR3b3Jrc19fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5uZXR3b3JrcyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5ldHdvcmtzIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAubmV0d29ya3MgYTpob3ZlcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgLm5ldHdvcmtzIGEuaWNvbi1mYWNlYm9vazphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4OyB9XG4gICAgLm5ldHdvcmtzIGEuaWNvbi1saW5rZWRpbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N2I1OyB9XG4gICAgLm5ldHdvcmtzIGEuaWNvbi10d2l0dGVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NWFjZWU7IH1cbiAgICAubmV0d29ya3MgYS5pY29uLWdwbHVzOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNERDRCMzk7IH1cbiAgICAubmV0d29ya3MgYS5pY29uLWluc3RhZ3JhbTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzMzMkJFOyB9XG4gICAgLm5ldHdvcmtzIGEuaWNvbi15b3V0dWJlOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRDI2MDI7IH1cbiAgLm5ldHdvcmtzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLm5ldHdvcmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAubmV0d29ya3MgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNlYXJjaF9iYXJfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zZWFyY2hfYmFyX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLnNlYXJjaF9iYXJfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAuc2VhcmNoX2Jhcl9fY29udGVudDpiZWZvcmUsIC5zZWFyY2hfYmFyX19jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMiAqLyB9XG4gIC5zZWFyY2hfYmFyX19jb250ZW50OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc2VhcmNoX2Jhcl9faW5wdXQsIC5zZWFyY2hfYmFyX19idXR0b24sIC5zZWFyY2hfYmFyX19jbG9zZSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zZWFyY2hfYmFyX19pbnB1dF9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgLSA2MHB4KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYwMDAwOyB9XG5cbi5zZWFyY2hfYmFyX19pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuLnNlYXJjaF9iYXJfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLnNlYXJjaF9iYXJfX2J1dHRvbjpob3ZlciwgLnNlYXJjaF9iYXJfX2J1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzAwMDA7IH1cbiAgLnNlYXJjaF9iYXJfX2J1dHRvbiBpIHtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4uc2VhcmNoX2Jhcl9fY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IDFlbTtcbiAgcmlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAuc2VhcmNoX2Jhcl9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgLnNlYXJjaF9iYXJfX2NvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2VhcmNoX2Jhcl9faW5wdXRfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG4gIC5zZWFyY2hfYmFyX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAyZW07IH1cbiAgLnNlYXJjaF9iYXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAuc2VhcmNoX2Jhcl9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH0gfVxuXG4ucGFnZV9faG9tZSB7XG4gIC8qKlxuICAgICogQWN0aXZpdGllc1xuICAgICovXG4gIC8qKlxuICAgICAqIHJlYWxpc2F0aW9uc1xuICAgICAqL1xuICAvKipcbiAgICAgKiBKb2luIFVzXG4gICAgICovXG4gIC8qKlxuICAgICAqIE5FV1NcbiAgICAgKi8gfVxuICAucGFnZV9faG9tZSAuaGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYWdlX19ob21lIC5oZWFkaW5nIC5zbGlkZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIC5wYWdlX19ob21lIC5oZWFkaW5nIC5zbGlkZV9fY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7IH1cbiAgICAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH1cbiAgICAgICAgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCAubWFpbl9saW5rICsgLm1haW5fbGluaywgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rICsgLm1haW5fbGluaywgLmVycm9yNDA0IC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAuaGVhZGluZ19fc2xpZGVfX3RleHQgLmVycm9yNDA0X19saW5rICsgLm1haW5fbGluaywgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCAuZXJyb3I0MDQgLm1haW5fbGluayArIC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAuaGVhZGluZ19fc2xpZGVfX3RleHQgLm1haW5fbGluayArIC5lcnJvcjQwNF9fbGluaywgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rICsgLmVycm9yNDA0X19saW5rLCAuZXJyb3I0MDQgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCAuZXJyb3I0MDRfX2xpbmsgKyAuZXJyb3I0MDRfX2xpbmsge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgICAgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5oZWFkaW5nX19zbGlkZV9fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgfSB9XG4gICAgICAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUtLXZpZGVvIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUgLnNsaWRlX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUgLnNsaWRlX19idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUgLndyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA2LjI1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApOyB9XG4gICAgICAgIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAud3JhcHBlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAucGxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAgIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAucGxheWVyIHZpZGVvIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5jZW50ZXIsIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSBib2R5IC5jZW50ZXItLXNtYWxsLCBib2R5IC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSAuY2VudGVyLS1zbWFsbCwgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgYm9keSAucGFnZV9faG9tZSAuaGVhZGluZ19fc2xpZGUgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX2hvbWUgLmhlYWRpbmdfX3NsaWRlIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIGEsIC5tb2JpbGVfbWVudSAubWVudSAubWVudS1pdGVtIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZSBhIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5wYWdlX19ob21lIC5oZWFkaW5nX19zbGlkZV9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBvcGFjaXR5OiAwLjM7IH1cbiAgLnBhZ2VfX2hvbWUgLmhvbWVfa2Yge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9rZl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAucGFnZV9faG9tZSAuaG9tZV9rZl9fdGl0bGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuICAgICAgICAucGFnZV9faG9tZSAuaG9tZV9rZl9fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gICAgICAgIC5wYWdlX19ob21lIC5ob21lX2tmX190aXRsZSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gICAgICAgIC5wYWdlX19ob21lIC5ob21lX2tmX190aXRsZSA+ICoge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgICAgICAgIC5wYWdlX19ob21lIC5ob21lX2tmX190aXRsZSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfa2ZfX3RpdGxlID4gKiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfa2ZfX21pZGRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIC5wYWdlX19ob21lIC5ob21lX2tmX193b3JrZXJzLCAucGFnZV9faG9tZSAuaG9tZV9rZl9fdHVybm92ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfa2ZfX3dvcmtlcnMgc3Ryb25nLCAucGFnZV9faG9tZSAuaG9tZV9rZl9fdHVybm92ZXIgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDsgfVxuICAgICAgICAucGFnZV9faG9tZSAuaG9tZV9rZl9fd29ya2VycyBzdHJvbmc6YmVmb3JlLCAucGFnZV9faG9tZSAuaG9tZV9rZl9fdHVybm92ZXIgc3Ryb25nOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9rZl9fd29ya2VycyBzcGFuLCAucGFnZV9faG9tZSAuaG9tZV9rZl9fdHVybm92ZXIgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgLnBhZ2VfX2hvbWUgLmhvbWVfX2FjdGl2aXRpZXMge1xuICAgIHBhZGRpbmctYmxvY2s6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9fYWN0aXZpdGllcyAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkwY2g7IH1cbiAgLnBhZ2VfX2hvbWUgLmhvbWVfX3JlYWxpc2F0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9fcmVhbGlzYXRpb25zIC53eXNpd3lnIHtcbiAgICAgIG1hcmdpbi1ibG9jazogMjBweDtcbiAgICAgIG1heC13aWR0aDogOTBjaDsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fdGV4dCB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDMwcHg7IH1cbiAgLnBhZ2VfX2hvbWUgLnNsaWRlcl9tdWx0aSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5wYWdlX19ob21lIC5yZWFsaXNhdGlvbnMgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAucGFnZV9faG9tZSAuaG9tZV9fb3ZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19vdmVyIC53eXNpd3lnIHtcbiAgICAgIG1hcmdpbi1ibG9jazogMjBweDtcbiAgICAgIG1heC13aWR0aDogOTBjaDsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19vdmVyIC5vdmVyX19wbGF5ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19vdmVyIC5vdmVyX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91cyAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydHMge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgICAgIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0cyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDsgfSB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAgICAgICAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCB7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLmljb24sIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5icmVhZGNydW1iIGEsIC5icmVhZGNydW1iIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IGEsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC53eXNpd3lnIGJsb2NrcXVvdGUsIC53eXNpd3lnIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IGJsb2NrcXVvdGUsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5zcXVhcmVfX2J1dHRvbi0tcHJldiwgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1sZWZ0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAuYXJyb3ctLWxlZnQsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5zcXVhcmVfX2J1dHRvbi0tbmV4dCwgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLmFycm93LS1yaWdodCwgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgYm9keS5tb2JpbGUgLmZpZWxkLS1zZWxlY3QsIGJvZHkubW9iaWxlIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5maWVsZC0tc2VsZWN0LCAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLm5mLWZpZWxkLWVsZW1lbnQsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0LCBib2R5LnRhYmxldCAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAuZmllbGQtLXNlbGVjdCwgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkudGFibGV0IC5saXN0LXNlbGVjdC13cmFwIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5uZi1maWVsZC1lbGVtZW50LCAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAubmYtcmVzcG9uc2UtbXNnLCAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAuZGstc2VsZWN0ZWQsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC50YWJzX19hcnJvdywgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLnBhZ2luYXRpb24gLnByZXYsIC5wYWdpbmF0aW9uIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5wcmV2LCAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAucGFnaW5hdGlvbiAubmV4dCwgLnBhZ2luYXRpb24gLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLm5leHQsIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0IC5jaXRhdGlvbl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgY29sb3I6ICNiM2I0Yjk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9fam9pbl91c19fcGFydCAud3lzaXd5ZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgICAgIC5wYWdlX19ob21lIC5ob21lX19qb2luX3VzX19wYXJ0LS1sZWZ0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfX2pvaW5fdXNfX3BhcnQtLXJpZ2h0IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7IH0gfVxuICAucGFnZV9faG9tZSAuaG9tZV9fbmV3cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3MgLmhncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2xpc3Qge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi10b3A6IC0zMHB4OyB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgICAgICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2l0ZW1fX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2l0ZW1fX2xpbms6aG92ZXIgLmxpbmtfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAwLjI7IH1cbiAgICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19saW5rOmhvdmVyIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fbGluazpob3ZlciAubGluay0tYmFzaWM6YWZ0ZXIsIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19saW5rOmhvdmVyIC5tYXBfX2luZm93aW5kb3dfX2luZm9fX2l0ZW0gYTphZnRlciwgLm1hcF9faW5mb3dpbmRvd19faW5mb19faXRlbSAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fbGluazpob3ZlciBhOmFmdGVyLCAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fbGluazpob3ZlciAucGFnZV9fam9pbl91cyAuam9pbl91c19fb2ZmZXJzX19saW5rOmFmdGVyLCAucGFnZV9fam9pbl91cyAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fbGluazpob3ZlciAuam9pbl91c19fb2ZmZXJzX19saW5rOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1LjkwOTA5JTsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDM1cHg7IH1cbiAgICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19jb250ZW50IC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fY29udGVudCAud3lzaXd5ZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2l0ZW1fX2NvbnRlbnQgLnd5c2l3eWcgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOGVtOyB9XG4gICAgICAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fY29udGVudCAubGluay0tYmFzaWMsIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19jb250ZW50IC5tYXBfX2luZm93aW5kb3dfX2luZm9fX2l0ZW0gYSwgLm1hcF9faW5mb3dpbmRvd19faW5mb19faXRlbSAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fY29udGVudCBhLCAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fY29udGVudCAucGFnZV9fam9pbl91cyAuam9pbl91c19fb2ZmZXJzX19saW5rLCAucGFnZV9fam9pbl91cyAucGFnZV9faG9tZSAuaG9tZV9fbmV3c19faXRlbV9fY29udGVudCAuam9pbl91c19fb2ZmZXJzX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgIC5wYWdlX19ob21lIC5ob21lX19uZXdzX19pdGVtX19jYXRlZ29yaWVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgYm90dG9tOiAxNXB4OyB9XG4gICAgLnBhZ2VfX2hvbWUgLmhvbWVfX25ld3NfX2l0ZW1fX2NhdGVnb3J5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI2IzYjRiOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2VfX2Fib3V0IC5oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19zZWN0aW9uOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc2VjdGlvbjpudGgtY2hpbGQoZXZlbikgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3NlY3Rpb246bnRoLWNoaWxkKGV2ZW4pIC5kYXRlX19idXR0b24sXG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3NlY3Rpb246bnRoLWNoaWxkKGV2ZW4pIC5zbGlkZXJfX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5OyB9XG5cbi5wYWdlX19hYm91dCAuYWJvdXRfX3NlY3Rpb246bnRoLWNoaWxkKG9kZCkgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19zZWN0aW9uOm50aC1jaGlsZChvZGQpIC5kYXRlX19idXR0b24sXG4ucGFnZV9fYWJvdXQgLmFib3V0X19zZWN0aW9uOm50aC1jaGlsZChvZGQpIC5zbGlkZXJfX2Fycm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X193aG8ge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3dobyAubGlua3Mge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwOmJlZm9yZSwgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovIH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXA6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwIC53eXNpd3lnIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXBfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygoMTAwJSArIDEwMHB4KSAvIDIpO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nX19jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYygoMTAwJSArIDEwMHB4KSAvIDIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nX19jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDc1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwX19pbWdfX2NvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAgICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nX19jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3NSU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwX19pbWdfX2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgyICogMS44NzVlbSkpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NWVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nX19jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMmVtKSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfSB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXBfX2ltZy0xLCAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nLTIge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlICsgMTVweCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXBfX2ltZy0xIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19ncm91cF9faW1nLTIge1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXBfX2ltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwX19pbWc6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2dyb3VwX19pbWcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZ3JvdXBfX2ltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cblxuLnBhZ2VfX2Fib3V0IC5hYm91dF9fYXNzZXRzIHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19hc3NldHMgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19hc3NldHNfX3RleHQge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fYXNzZXRzIC5saW5rcyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlX19hYm91dCAuYWJvdXRfX2RuYSB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZG5hX19pbm5lciA+ICoge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkgYW5kIChtYXgtd2lkdGg6IDEzNTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9faW5uZXIgPiAqIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNTBweCkgLyAyKTsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9fdGV4dCAud3lzaXd5ZyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19kbmFfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hcmdpbi1yaWdodDogNTBweDsgfVxuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA3MS40Mjg1NyU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUxcHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2RuYV9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fZG5hX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19hbGJ1bXMge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2FsYnVtcyAuaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2FsYnVtc19fdGV4dCB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fYWxidW1zX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IC0zMHB4IC0xMHB4IC0xMHB4OyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fYWxidW1zX19saXN0IC5fZGZfYm9vay1jb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fYWxidW1zX19saXN0IC5fZGZfdGh1bWIge1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgaGVpZ2h0OiAxNTBweDsgfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19tYW5hZ2VtZW50IHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSBhbmQgKG1pbi13aWR0aDogNTUxcHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX21hbmFnZW1lbnRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMwcHgpIC8gMik7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19tYW5hZ2VtZW50X19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19tYW5hZ2VtZW50X19pdGVtX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19tYW5hZ2VtZW50X19pdGVtX19uYW1lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX21hbmFnZW1lbnRfX2l0ZW1fX3JvbGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjOEY4RjhGOyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX21hbmFnZW1lbnRfX2l0ZW1fX2FjdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMDsgfVxuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX21hbmFnZW1lbnRfX2l0ZW1fX2FjdGlvbiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1saW5rZWRpbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7IH1cbiAgICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1saW5rZWRpbjpob3ZlciwgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1saW5rZWRpbjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDU2OTsgfVxuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1lbWFpbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYjFmMmU7IH1cbiAgICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1lbWFpbDpob3ZlciwgLnBhZ2VfX2Fib3V0IC5hYm91dF9fbWFuYWdlbWVudF9faXRlbV9fYWN0aW9uIGEuaWNvbi1lbWFpbDpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLnBhZ2VfX2Fib3V0IC5hYm91dF9fcmVzcG9uc2liaWxpdHkge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X190ZXh0cyB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX3RleHRzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX3RleHRzIC53eXNpd3lnIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fdGV4dHMgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX3RleHRzIC5zbGlkZXMge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X190ZXh0cyAuc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX3RleHRzIC5zbGlkZS5jdXJyZW50IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDBweDsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYjNiNGI5O1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXB4O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXM6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2IzYjRiOTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC41cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDFweDsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGVyX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5OXB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGVyX19jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGVyX19hcnJvdyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZXJfX2Fycm93IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGVyX19hcnJvdy0tcHJldiB7XG4gICAgICB0b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZXJfX2Fycm93LS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlOyB9IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGVyX19hcnJvdy0tbmV4dCB7XG4gICAgICBib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZXJfX2Fycm93LS1uZXh0IHtcbiAgICAgICAgICByaWdodDogMDsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzX19zbGlkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZXMge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5OXB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI2LjY2N3B4OyB9IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGU6bnRoLWNoaWxkKDJuKSAuZGF0ZV9fdGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlIC5kYXRlX190ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlLmN1cnJlbnQgLmRhdGVfX2J1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGUuY3VycmVudCAuZGF0ZV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlLmN1cnJlbnQgLmRhdGVfX2J1dHRvbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlLmN1cnJlbnQgLmRhdGVfX3RleHQge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlIC5kYXRlX19idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IzYjRiOTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSAuZGF0ZV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSAuZGF0ZV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkICNiM2I0Yjk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC40cyAwLjJzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBvcGFjaXR5IDAuNHMgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgYm9yZGVyIDAuNHMgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSAuZGF0ZV9fdGV4dF9fY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIGNvbG9yOiAjYjNiNGI5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fc3RvcnkgLmFib3V0X19zdG9yeV9fZGF0ZXMgLnNsaWRlIC5kYXRlX190ZXh0X19jb250YWluZXIgLmRhdGVfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX3N0b3J5IC5hYm91dF9fc3RvcnlfX2RhdGVzIC5zbGlkZSAuZGF0ZV9fdGV4dF9fY29udGFpbmVyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19zdG9yeSAuYWJvdXRfX3N0b3J5X19kYXRlcyAuc2xpZGUgLmRhdGVfX3RleHRfX2NvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH0gfVxuXG4ucGFnZV9fYWJvdXQgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2NlcnRpZmljYXRpb25zIC53eXNpd3lnIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fY2VydGlmaWNhdGlvbnMgLmFib3V0X19jZXJ0aWZpY2F0aW9uc19fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyAuYWJvdXRfX2NlcnRpZmljYXRpb25zX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fY2VydGlmaWNhdGlvbnMgLmFib3V0X19jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAucGFnZV9fYWJvdXQgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyAuYWJvdXRfX2NlcnRpZmljYXRpb25zX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wYWdlX19hYm91dCAuYWJvdXRfX2NlcnRpZmljYXRpb25zIC5hYm91dF9fY2VydGlmaWNhdGlvbnNfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLnBhZ2VfX2Fib3V0IC5hYm91dF9fY2VydGlmaWNhdGlvbnMgLmFib3V0X19jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTsgfVxuICAgICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyAuYWJvdXRfX2NlcnRpZmljYXRpb25zX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAucGFnZV9fYWJvdXQgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyAuYWJvdXRfX2NlcnRpZmljYXRpb25zX19pdGVtIHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5wYWdlX19hYm91dCAuYWJvdXRfX2NlcnRpZmljYXRpb25zIC5hYm91dF9fY2VydGlmaWNhdGlvbnNfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5QjlBOUY7IH1cblxuLnBhZ2VfX2FjdGl2aXRpZXMgLmhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2VfX2FjdGl2aXRpZXMgLnd5c2l3eWcge1xuICBtYXgtd2lkdGg6IDkwY2g7IH1cblxuLnBhZ2VfX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXMsXG4ucGFnZV9fYWN0aXZpdGllcyAuc2VjdG9ycyB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgLnBhZ2VfX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXMgLnd5c2l3eWcsXG4gIC5wYWdlX19hY3Rpdml0aWVzIC5zZWN0b3JzIC53eXNpd3lnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5wYWdlX19hY3Rpdml0aWVzIC5hdGVsaWVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgcGFkZGluZy1ibG9jazogMTAwcHg7IH1cbiAgLnBhZ2VfX2FjdGl2aXRpZXMgLmF0ZWxpZXIgLm1haW5fbGluaywgLnBhZ2VfX2FjdGl2aXRpZXMgLmF0ZWxpZXIgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC5wYWdlX19hY3Rpdml0aWVzIC5hdGVsaWVyIC5lcnJvcjQwNF9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ucGFnZV9fcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2xpc3RpbmcgLmhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnBhZ2VfX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19saXN0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW06aG92ZXIge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgOHB4IDEycHggI2IzYjRiOTtcbiAgYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5OyB9XG4gIC5wYWdlX19yZWFsaXNhdGlvbnMgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtOmhvdmVyIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNyk7IH1cbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbTpob3ZlciAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX2NvbnRlbnQgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19zaG9ydF9kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTsgfVxuXG4ucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3RpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjYjNiNGI5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQsIGhlaWdodCAwLjJzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDsgfVxuXG4ucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgcCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLm1haW5fbGluaywgLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC5wYWdlX19yZWFsaXNhdGlvbnMgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19zaG9ydF9kZXNjIC5lcnJvcjQwNF9fbGluayB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAubWFpbl9saW5rOmJlZm9yZSwgLnBhZ2VfX3JlYWxpc2F0aW9ucyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluazpiZWZvcmUsIC5lcnJvcjQwNCAucGFnZV9fcmVhbGlzYXRpb25zIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbms6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTUwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzLmxvYWRpbmc6YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUxcHgpIHtcbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAyODBweDsgfVxuICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQgLmRrLXNlbGVjdGVkIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdCxcbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIGJ1dHRvbixcbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIC5kay1zZWxlY3RlZCB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdCxcbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIGJ1dHRvbixcbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIC5kay1zZWxlY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjYjNiNGI5O1xuICAgICAgY29sb3I6ICNiM2I0Yjk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgYm9yZGVyLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmFjdGl2ZSAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdCwgLmFjdGl2ZVxuICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZCBidXR0b24sIC5hY3RpdmVcbiAgICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQgLmRrLXNlbGVjdCB7XG4gICAgICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjAwMDA7IH1cbiAgICAgICAgLmFjdGl2ZSAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdDpob3ZlciwgLmFjdGl2ZVxuICAgICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIGJ1dHRvbjpob3ZlciwgLmFjdGl2ZVxuICAgICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIC5kay1zZWxlY3Q6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZCBzZWxlY3Q6aG92ZXIsXG4gICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIGJ1dHRvbjpob3ZlcixcbiAgICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQgLmRrLXNlbGVjdDpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWIxZjJlO1xuICAgICAgICBjb2xvcjogIzFiMWYyZTsgfVxuICAgICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdDpob3ZlciAuZGstc2VsZWN0ZWQsXG4gICAgICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQgYnV0dG9uOmhvdmVyIC5kay1zZWxlY3RlZCxcbiAgICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZCAuZGstc2VsZWN0OmhvdmVyIC5kay1zZWxlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICMxYjFmMmU7IH1cbiAgICAgICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkIHNlbGVjdDpob3ZlciAuZGstc2VsZWN0ZWQ6YmVmb3JlLFxuICAgICAgICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQgYnV0dG9uOmhvdmVyIC5kay1zZWxlY3RlZDpiZWZvcmUsXG4gICAgICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZCAuZGstc2VsZWN0OmhvdmVyIC5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICMxYjFmMmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NTFweCkge1xuICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWluLXdpZHRoOiA4MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUxcHgpIHtcbiAgICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZmxleC1ncm93OiAwOyB9IH1cbiAgICAucGFnZV9fcmVhbGlzYXRpb25zIC5maWx0ZXJzIC5maWx0ZXJfX2ZpZWxkLmFjdGl2ZSAuZGstc2VsZWN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmMDAwMDsgfVxuICAgIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGQuYWN0aXZlIC5kay1zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgLnBhZ2VfX3JlYWxpc2F0aW9ucyAuZmlsdGVycyAuZmlsdGVyX19maWVsZC5hY3RpdmUgLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gIC5wYWdlX19yZWFsaXNhdGlvbnMgLmZpbHRlcnMgLmZpbHRlcl9fZmllbGRfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cblxuLnBhZ2VfX2lubm92YXRpb24gLnRhYnMge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5wYWdlX19pbm5vdmF0aW9uIC50YWJzX19saXN0IHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyB9XG4gICAgLnBhZ2VfX2lubm92YXRpb24gLnRhYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2VfX2lubm92YXRpb24gLmhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlX19pbm5vdmF0aW9uIC5oZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5wYWdlX19pbm5vdmF0aW9uIC5pbm5vdmF0aW9uX19zZWN0aW9uIHtcbiAgcGFkZGluZy1ibG9jazogMTAwcHg7IH1cbiAgLnBhZ2VfX2lubm92YXRpb24gLmlubm92YXRpb25fX3NlY3Rpb25fX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovIH1cbiAgICAucGFnZV9faW5ub3ZhdGlvbiAuaW5ub3ZhdGlvbl9fc2VjdGlvbl9faW1hZ2U6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA4NS4zNjU4NSU7IH1cbiAgLnBhZ2VfX2lubm92YXRpb24gLmlubm92YXRpb25fX3NlY3Rpb246bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2NvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLnBhZ2VfX2pvaW5fdXMgLnRhYnMge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5wYWdlX19qb2luX3VzIC50YWJzX19saXN0X19pbm5lciB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucGFnZV9fam9pbl91cyAudGFic19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4ucGFnZV9fam9pbl91cyAuam9pbl91c19fY29udGVudCAud3lzaXd5ZyB7XG4gIG1heC13aWR0aDogNzIwcHg7IH1cblxuLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2NvbnRlbnQgLndpZGVsaW5rcyB7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2NvbnRlbnQgLmZvcm0tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA3MjBweDtcbiAgbWFyZ2luOiAxMDBweCBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19jb250ZW50IC5mb3JtLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDUwcHggYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19jb250ZW50IC5mb3JtLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19jb250ZW50IC5mb3JtLWNvbnRhaW5lciAuZm9ybS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19jb250ZW50IC5mb3JtLWNvbnRhaW5lciAuZm9ybS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG5cbi5wYWdlX19qb2luX3VzIC5qb2luX3VzX19vZmZlcnMge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19vZmZlcnNfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2xpbmtzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiAyNHB4O1xuICBtYXJnaW4tYmxvY2s6IDQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19saW5rcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2xpbmtzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cblxuLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzOyB9XG4gIC5wYWdlX19qb2luX3VzIC5qb2luX3VzX19saW5rOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2xpbmsgLmpvaW5fdXNfX2xpbmtfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyODBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2VfX2pvaW5fdXMgLmpvaW5fdXNfX2xpbmsgLmpvaW5fdXNfX2xpbmtfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIHBhZGRpbmc6IDE4cHggMjVweDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucGFnZV9fam9pbl91cyAuam9pbl91c19fbGluayAuam9pbl91c19fbGlua19fdXJsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlX193b3JrX2F0IC5oZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5wYWdlX193b3JrX2F0IC50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuXG4ucGFnZV9fd29ya19hdCAud29ya19hdF9fd2h5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX3doeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX3doeV9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogY2FsYygoMTAwJSArIDEwMHB4KSAvIDIpO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fd2h5X19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X193aHlfX2ltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDY2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fd2h5X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fd2h5X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cblxuLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3MgLmhncm91cCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3MgLmhncm91cF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzIC5oZ3JvdXAgLnd5c2l3eWcge1xuICAgICAgbWF4LXdpZHRoOiA5MGNoO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3NTFweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAuaWNvbiwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgYSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgYmxvY2txdW90ZSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIC5hcnJvdy0tbGVmdCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAuYXJyb3ctLXJpZ2h0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLmZpZWxkLS1zZWxlY3QsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAubmYtZmllbGQtZWxlbWVudCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIC5maWVsZC0tc2VsZWN0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLm5mLWZpZWxkLWVsZW1lbnQsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIC5uZi1yZXNwb25zZS1tc2csIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIC5kay1zZWxlY3RlZCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLnRhYnNfX2Fycm93LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLnByZXYsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmhvdmVyIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpob3ZlciAubmV4dCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6aG92ZXIgLmNpdGF0aW9uX190ZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAuaWNvbiwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLmJyZWFkY3J1bWIgYSwgLmJyZWFkY3J1bWIgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgYSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLnd5c2l3eWcgYmxvY2txdW90ZSwgLnd5c2l3eWcgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgYmxvY2txdW90ZSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLWxlZnQsIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIC5hcnJvdy0tbGVmdCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAuYXJyb3ctLXJpZ2h0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAuYXJyb3ctLXJpZ2h0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLmZpZWxkLS1zZWxlY3QsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCBib2R5Lm1vYmlsZSAubGlzdC1zZWxlY3Qtd3JhcCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAubmYtZmllbGQtZWxlbWVudCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgYm9keS50YWJsZXQgLmZpZWxkLS1zZWxlY3QsIGJvZHkudGFibGV0IC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIC5maWVsZC0tc2VsZWN0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLm5mLWZpZWxkLWVsZW1lbnQsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIC5uZi1yZXNwb25zZS1tc2csIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIC5kay1zZWxlY3RlZCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLnRhYnNfX2Fycm93LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAucGFnaW5hdGlvbiAucHJldiwgLnBhZ2luYXRpb24gLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLnByZXYsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rOmZvY3VzIC5wYWdpbmF0aW9uIC5uZXh0LCAucGFnaW5hdGlvbiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluazpmb2N1cyAubmV4dCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbms6Zm9jdXMgLmNpdGF0aW9uX190ZXh0IHtcbiAgICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiNGI5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2Ni42NjY2NyU7IH1cbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmljb24sIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAuYnJlYWRjcnVtYiBhLCAuYnJlYWRjcnVtYiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgYSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC53eXNpd3lnIGJsb2NrcXVvdGUsIC53eXNpd3lnIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBibG9ja3F1b3RlLCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1sZWZ0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmFycm93LS1sZWZ0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5hcnJvdy0tcmlnaHQsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5maWVsZC0tc2VsZWN0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAubmYtZmllbGQtZWxlbWVudCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0LCBib2R5LnRhYmxldCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmZpZWxkLS1zZWxlY3QsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5uZi1maWVsZC1lbGVtZW50LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLm5mLXJlc3BvbnNlLW1zZywgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5kay1zZWxlY3RlZCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC50YWJzX19hcnJvdywgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5wYWdpbmF0aW9uIC5wcmV2LCAucGFnaW5hdGlvbiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnByZXYsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAucGFnaW5hdGlvbiAubmV4dCwgLnBhZ2luYXRpb24gLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmNpdGF0aW9uX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmljb24sIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAuYnJlYWRjcnVtYiBhLCAuYnJlYWRjcnVtYiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgYSwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC53eXNpd3lnIGJsb2NrcXVvdGUsIC53eXNpd3lnIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBibG9ja3F1b3RlLCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnNxdWFyZV9fYnV0dG9uLS1wcmV2LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1sZWZ0LCAuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlciAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmFycm93LS1sZWZ0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnNxdWFyZV9fYnV0dG9uLS1uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLmFycm93LS1yaWdodCwgLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5hcnJvdy0tcmlnaHQsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBib2R5Lm1vYmlsZSAuZmllbGQtLXNlbGVjdCwgYm9keS5tb2JpbGUgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5maWVsZC0tc2VsZWN0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgYm9keS5tb2JpbGUgLmxpc3Qtc2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIGJvZHkubW9iaWxlIC5saXN0LXNlbGVjdC13cmFwIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAubmYtZmllbGQtZWxlbWVudCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIGJvZHkudGFibGV0IC5maWVsZC0tc2VsZWN0LCBib2R5LnRhYmxldCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmZpZWxkLS1zZWxlY3QsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSBib2R5LnRhYmxldCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCwgYm9keS50YWJsZXQgLmxpc3Qtc2VsZWN0LXdyYXAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5uZi1maWVsZC1lbGVtZW50LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLm5mLXJlc3BvbnNlLW1zZywgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5kay1zZWxlY3RlZCwgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC50YWJzX19hcnJvdywgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5wYWdpbmF0aW9uIC5wcmV2LCAucGFnaW5hdGlvbiAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLnByZXYsIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19pbnRlcnZpZXdzX19saW5rIGZpZ3VyZSAucGFnaW5hdGlvbiAubmV4dCwgLnBhZ2luYXRpb24gLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2ludGVydmlld3NfX2xpbmsgZmlndXJlIC5uZXh0LCAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19fbGluayBmaWd1cmUgLmNpdGF0aW9uX190ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19faXRlbV9fbmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucGFnZV9fd29ya19hdCAud29ya19hdF9faW50ZXJ2aWV3c19faXRlbV9fcm9sZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4RjhGOEY7IH1cblxuLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2FjYWRlbXkge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2FjYWRlbXkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmEgLmhncm91cF9fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZG5hX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2xpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDsgfSB9XG4gIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZG5hX19pdGVtOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2RuYV9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMwcHgpIC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZG5hX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2NvbnRlbnQ6aG92ZXIgLm1haW50aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiAwcHg7IH1cbiAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZG5hX19jb250ZW50IC5tYWludGl0bGUge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cbiAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZG5hX19jb250ZW50IC53eXNpd3lnIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19kbmFfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2dhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2dhbGxlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19nYWxsZXJ5X19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDsgfVxuICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZ2FsbGVyeV9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjRiOTsgfVxuICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19nYWxsZXJ5X19pdGVtOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDFweCkge1xuICAgICAgLnBhZ2VfX3dvcmtfYXQgLndvcmtfYXRfX2dhbGxlcnlfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZ2FsbGVyeV9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkgYW5kIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAucGFnZV9fd29ya19hdCAud29ya19hdF9fZ2FsbGVyeV9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19nYWxsZXJ5X19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgIC5wYWdlX193b3JrX2F0IC53b3JrX2F0X19nYWxsZXJ5X19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jd2Fhcm9tIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG5cbiNvdXJfdmFsdWVzIHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgcGFkZGluZy1ibG9jazogMTAwcHg7IH1cblxuLnBhZ2VfX25ld3MgLm5ld3NfX2xpc3RpbmcgLmhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnBhZ2VfX25ld3MgLm5ld3NfX2xpc3Rpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG4ucGFnZV9fbmV3cyAubmV3c19fZmlsdGVycyB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9uc19fY29udGFpbmVyIC5vdmVyZmxvd19fZ3JhZGlhbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zX19jb250YWluZXIgLm92ZXJmbG93X19ncmFkaWFudC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciAub3ZlcmZsb3dfX2dyYWRpYW50LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCUgdG9wLCAxMDAlIHRvcCwgbGVmdCwgcmlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgY29sb3Itc3RvcChyZ2JhKDAsIDAsIDAsIDAuMikgMCUpLCBjb2xvci1zdG9wKHRyYW5zcGFyZW50IDEwMCUpKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMzMwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOyB9XG4gICAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9uc19fY29udGFpbmVyIC5vdmVyZmxvd19fZ3JhZGlhbnQtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCUgdG9wLCAxMDAlIHRvcCwgbGVmdCwgcmlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgY29sb3Itc3RvcCh0cmFuc3BhcmVudCAwJSksIGNvbG9yLXN0b3AocmdiYSgwLCAwLCAwLCAwLjIpIDEwMCUpKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMikgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMikgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzMzMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOyB9XG4gIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciAuYnRuX19vdmVyZmxvdyB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciAuYnRuX19vdmVyZmxvdy0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciAuYnRuX19vdmVyZmxvdy0tcHJldiB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9uc19fY29udGFpbmVyIC5idG5fX292ZXJmbG93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciAuYnRuX19vdmVyZmxvdy0tcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9uc19fY29udGFpbmVyIC5idG5fX292ZXJmbG93LS1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7IH1cblxuLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zIGxpIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5wYWdlX19uZXdzIC5maWx0ZXJfX2J1dHRvbnMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zIGxpLmFjdGl2ZSBhIHtcbiAgICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwOyB9XG4gICAgICAucGFnZV9fbmV3cyAuZmlsdGVyX19idXR0b25zIGxpLmFjdGl2ZSBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwOyB9XG4gICAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9ucyBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNiM2I0Yjk7XG4gICAgICBjb2xvcjogIzFiMWYyZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgYm9yZGVyLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLnBhZ2VfX25ld3MgLmZpbHRlcl9fYnV0dG9ucyBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYjFmMmU7IH1cblxuLmNvbnRhY3RfX2xpbmtzIC5oZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG4gIC5jb250YWN0X19saW5rc19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAuY29udGFjdF9fbGlua3NfX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gIC5jb250YWN0X19saW5rc19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAuY29udGFjdF9fbGlua3NfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAuY29udGFjdF9fbGlua3NfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDMwcHgpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuY29udGFjdF9fbGlua3NfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAuY29udGFjdF9fbGlua3NfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuY29udGFjdF9fbGlua3NfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNvbnRhY3RfX2xpbmtzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuY29udGFjdF9fbGlua3NfX2xpbms6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgIC5jb250YWN0X19saW5rc19fbGluayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi8gfVxuICAgICAgLmNvbnRhY3RfX2xpbmtzX19saW5rOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MCU7IH0gfVxuICAuY29udGFjdF9fbGlua3NfX2xpbmsgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogOTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ucGFnZV9fZGVmYXVsdCA+IC5jZW50ZXIsIGJvZHkgLnBhZ2VfX2RlZmF1bHQgPiAuY2VudGVyLS1zbWFsbCwgYm9keSAucGFnZV9fZGVmYXVsdCA+IC5jZW50ZXIsIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnBhZ2VfX2RlZmF1bHQgPiAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5wYWdlX19kZWZhdWx0ID4gLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLnBhZ2VfX2RlZmF1bHQgPiBhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4ucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLnNfYWN0aXZpdGllc19faW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuc19hY3Rpdml0aWVzX19pbnRybyAud3lzaXd5ZyB7XG4gICAgbWF4LXdpZHRoOiA5MzBweDsgfVxuXG4ucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLnNpbmdsZV9fYWN0aXZpdGllc19faW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH0gKi9cbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuc2luZ2xlX19hY3Rpdml0aWVzX19pbWc6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogNzYuOTIzMDglOyB9XG5cbi5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuc2luZ2xlX19hY3Rpdml0aWVzX19yZWFsaXNhdGlvbnMge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuc2luZ2xlX19hY3Rpdml0aWVzX19yZWFsaXNhdGlvbnMgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5zaW5nbGVfX2FjdGl2aXRpZXNfX3JlZmVyZW5jZXNfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuXG4ucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLnNpbmdsZV9fYWN0aXZpdGllc19fcmVmZXJlbmNlc19fbGlzdCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogLTE1cHg7IH1cblxuLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5oZ3JvdXAge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW06aG92ZXIge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgOHB4IDEycHggI2IzYjRiOTtcbiAgYm94LXNoYWRvdzogMCA4cHggMTJweCAjYjNiNGI5OyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW06aG92ZXIgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC43KTsgfVxuICAgIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW06aG92ZXIgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19jb250ZW50IC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07IH1cblxuLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fdGl0bGUgc3BhbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX2xpbmsge1xuICBkaXNwbGF5OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2IzYjRiOTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQsIGhlaWdodCAwLjJzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCwgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDsgfVxuXG4ucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19zaG9ydF9kZXNjIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTsgfVxuICAucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19zaG9ydF9kZXNjIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLm1haW5fbGluaywgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rLCAuZXJyb3I0MDQgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDRfX2xpbmsge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAubWFpbl9saW5rOmJlZm9yZSwgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyAuZXJyb3I0MDQgLmVycm9yNDA0X19saW5rOmJlZm9yZSwgLmVycm9yNDA0IC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAubGlzdGluZy1yZWFsaXNhdGlvbnNfX2l0ZW1fX3Nob3J0X2Rlc2MgLmVycm9yNDA0X19saW5rOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuYWN0aXZpdGllc19jb250ZW50X2Jsb2NrIHtcbiAgcGFkZGluZy1ibG9jazogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2s6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7IH1cbiAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLm1haW5fbGluaywgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluaywgLmVycm9yNDA0IC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuYWN0aXZpdGllc19jb250ZW50X2Jsb2NrIC5lcnJvcjQwNF9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXNfY29udGVudF9ibG9jayAuYmxvY2tfaW1hZ2V0ZXh0IHtcbiAgICBnYXA6IDEwMHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuYWN0aXZpdGllc19jb250ZW50X2Jsb2NrIC5ibG9ja19pbWFnZXRleHRfX3RleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2UuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZS0tc2xpZGVyLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXNfY29udGVudF9ibG9jayAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZS5ibG9ja19pbWFnZXRleHRfX2ltYWdlLS1zbGlkZXIuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC0xMDB2dztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXNfY29udGVudF9ibG9jayAucmV2ZXJzZSAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZS5ibG9ja19pbWFnZXRleHRfX2ltYWdlLS1zbGlkZXIuYmxvY2tfX3RleHRzbGlkZXJfX3NsaWRlcjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtMTAwdncgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMgLmFjdGl2aXRpZXNfY29udGVudF9ibG9jayAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuYWN0aXZpdGllc19jb250ZW50X2Jsb2NrIC5yZXZlcnNlIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5hY3Rpdml0aWVzX2NvbnRlbnRfYmxvY2sgLnJldmVyc2UgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4OyB9IH1cblxuLnBhZ2VfX3NpbmdsZV9hY3Rpdml0aWVzIC5zaW5nbGVfX2FjdGl2aXRpZXNfX290aGVyX2FjdGl2aXRpZXMge1xuICBtYXJnaW4tYmxvY2s6IDEwMHB4IDEzMHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfYWN0aXZpdGllcyAuc2luZ2xlX19hY3Rpdml0aWVzX19vdGhlcl9hY3Rpdml0aWVzIC5oZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fYWJvdXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2Fib3V0IC5oZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fYWJvdXRfX3RleHQge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fYWJvdXQgLmJsb2NrX19rZXlmaWd1cmVzX19saXN0aW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNTBweDsgfVxuXG4ucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19nYWxsZXJ5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX2dhbGxlcnkgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4ucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cCB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cCAuaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG4gICAgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3RpbmcudHdvX2NvbCB7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICBjb2x1bW4tZ2FwOiA0MHB4OyB9XG4gICAgICAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy50d29fY29sLFxuICAgICAgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3RpbmcudHdvX2NvbCBwIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBvcnBoYW5zOiAyO1xuICAgICAgICB3aWRvd3M6IDI7IH0gfVxuICAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZyB1bCA+IGxpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIC5yZWFsaXNhdGlvbnNfX3JlbGF0ZWRfYWN0aXZpdGllcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDJweDsgfVxuICAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucmVhbGlzYXRpb25zX19yZWxhdGVkX2FjdGl2aXRpZXMgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4ucGFnZV9fc2luZ2xlX25ld3MgLmhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlX19zaW5nbGVfbmV3cyAubmV3c19fbGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIC5wYWdlX19zaW5nbGVfbmV3cyAubmV3c19fbGVhZGVyX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19sZWFkZXJfX2RhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOEY4RjhGO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAucGFnZV9fc2luZ2xlX25ld3MgLm5ld3NfX2xlYWRlcl9fY2F0ZWdvcmllcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWdlX19zaW5nbGVfbmV3cyAubmV3c19fbGVhZGVyX19jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM4RjhGOEY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICAucGFnZV9fc2luZ2xlX25ld3MgLm5ld3NfX2xlYWRlcl9fY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19sZWFkZXJfX3RleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wYWdlX19zaW5nbGVfbmV3cyAubmV3c19fbGVhZGVyX190ZXh0IC5oZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgICAucGFnZV9fc2luZ2xlX25ld3MgLm5ld3NfX2xlYWRlcl9fdGV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDgwcHgpIC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19sZWFkZXJfX2ltYWdlIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gODBweCkgLyAyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19sZWFkZXJfX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19sZWFkZXJfX2ltYWdlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MCU7IH0gfVxuICAucGFnZV9fc2luZ2xlX25ld3MgLm5ld3NfX2xlYWRlcl9fc2hhcmUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnBhZ2VfX3NpbmdsZV9uZXdzIC5uZXdzX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbi5wYWdlX19zaW5nbGVfam9iX29mZmVycyAuaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmpvYl9vZmZlcnNfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1MXB4KSB7XG4gICAgLmpvYl9vZmZlcnNfX2NvbnRlbnRfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIC5qb2Jfb2ZmZXJzX19jb250ZW50IC5qb2Jfb2ZmZXJzX190ZXh0IHtcbiAgICBmbGV4OiAxOyB9XG4gIC5qb2Jfb2ZmZXJzX19jb250ZW50IC5qb2Jfb2ZmZXJzX19mb3JtIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2I0Yjk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjUxcHgpIHtcbiAgICAgIC5qb2Jfb2ZmZXJzX19jb250ZW50IC5qb2Jfb2ZmZXJzX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIC5qb2Jfb2ZmZXJzX19jb250ZW50IC5qb2Jfb2ZmZXJzX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgLmpvYl9vZmZlcnNfX2NvbnRlbnQgLmpvYl9vZmZlcnNfX2Zvcm0ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgLmpvYl9vZmZlcnNfX2NvbnRlbnQgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlX19zaXRlbWFwIC5jZW50ZXIsIC5wYWdlX19zaXRlbWFwIGJvZHkgLmNlbnRlci0tc21hbGwsIGJvZHkgLnBhZ2VfX3NpdGVtYXAgLmNlbnRlci0tc21hbGwsIC5wYWdlX19zaXRlbWFwIGJvZHkgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgYm9keSAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyAucGFnZV9fc2l0ZW1hcCAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cF9fbGlzdGluZy5vbmVfY29sLCAucGFnZV9fc2l0ZW1hcCAucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyBib2R5IC5yZWFsaXNhdGlvbnNfX2VsZWN0cmljX3NldHVwX19saXN0aW5nLm9uZV9jb2wsIC5wYWdlX19zaW5nbGVfcmVhbGlzYXRpb25zIGJvZHkgLnBhZ2VfX3NpdGVtYXAgLnJlYWxpc2F0aW9uc19fZWxlY3RyaWNfc2V0dXBfX2xpc3Rpbmcub25lX2NvbCwgLnBhZ2VfX3NpdGVtYXAgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gYSwgLm1vYmlsZV9tZW51IC5tZW51IC5tZW51LWl0ZW0gLnBhZ2VfX3NpdGVtYXAgYSB7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLnBhZ2VfX3NpdGVtYXAgLnNpdGVtYXBfX21lbnUgYSB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5wYWdlX19zaXRlbWFwIC5zaXRlbWFwX19tZW51LS1tYWluIHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5wYWdlX19zaXRlbWFwIC5zaXRlbWFwX19tZW51LS1mb290ZXJfbmF2IHtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZV9fc2l0ZW1hcCAuc2l0ZW1hcF9fbWVudS0tZm9vdGVyX25hdjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAyMHB4OyB9XG5cbi5wYWdlX19zaXRlbWFwIC5zaXRlbWFwX19tZW51LS1mb290ZXJfbGlua3Mge1xuICBwYWRkaW5nLXRvcDogNzBweDsgfVxuICAucGFnZV9fc2l0ZW1hcCAuc2l0ZW1hcF9fbWVudS0tZm9vdGVyX2xpbmtzIGEge1xuICAgIGNvbG9yOiAjZmYwMDAwOyB9XG5cbi5wYWdlX19zaXRlbWFwIHVsOm5vdCguc3ViLW1lbnUpID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5wYWdlX19zaXRlbWFwIHVsOm5vdCguc3ViLW1lbnUpID4gbGk6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlX19zaXRlbWFwIHVsOm5vdCguc3ViLW1lbnUpID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnBhZ2VfX3NpdGVtYXAgdWw6bm90KC5zdWItbWVudSkgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlX19zaXRlbWFwIC5zdWItbWVudSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5wYWdlX19zaXRlbWFwIC5zdWItbWVudSAubWVudS1pdGVtIGEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5wYWdlX19zaXRlbWFwIC5yaWdodF9ncm91cCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmVycm9yNDA0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmZmZmZmIDAlLCAjZWZlZmVmIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZmZmZmYgMCUsICNlZmVmZWYgMTAwJSk7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2ZmZmZmZiAwJSwgI2VmZWZlZiAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvcl9fd2hpdGUnLCBlbmRDb2xvcnN0cj0nI2VmZWZlZicsR3JhZGllbnRUeXBlPTEgKTsgfVxuICAuZXJyb3I0MDQgLmNvbnRhaW5lciAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5lcnJvcjQwNCAuZm9vdGVyLCAuZXJyb3I0MDQgLmhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZXJyb3I0MDQgLmVycm9yNDA0X19ncm91cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmVycm9yNDA0IC5tYWluVGl0bGVfX2ZpcnN0IHtcbiAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgU3RkXCIsIEF2ZW5pciwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMWVtO1xuICAgIGxlZnQ6IDEuNmVtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmVycm9yNDA0IC5tYWluVGl0bGVfX3NlY29uZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFN0ZFwiLCBBdmVuaXIsIEZ1dHVyYSwgXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZXJyb3I0MDQgLm1haW5UaXRsZV9fc2Vjb25kIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5lcnJvcjQwNCAuZXJyb3I0MDRfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiIsIi8qKlxuICogUGF0aFxuICovXG5cbiRpbWcgOiBcIi4uL2ltZy9cIjtcbiRmb250cyA6IFwiLi4vZm9udHMvXCI7XG5cbi8qKlxuICogQ29sb3JzXG4gKi9cblxuJGNvbG9yX193aGl0ZSA6ICNmZmZmZmY7XG4kY29sb3JfX2JsYWNrIDogIzAwMDAwMDtcblxuJGNvbG9yX19wcmltYXJ5IDogI2ZmMDAwMDtcbiRjb2xvcl9fc2Vjb25kYXJ5IDogI2Q2OWE1MTtcblxuXG4kY29sb3JfX2NvbGxpZ25vbi0tZ3JlZW4gOiAjM0Y5QzM1O1xuJGNvbG9yX19jb2xsaWdub24tLWJsdWUgOiAjMDA4OENFO1xuJGNvbG9yX19jb2xsaWdub24tLXJlZCA6ICRjb2xvcl9fcHJpbWFyeTtcbiRjb2xvcl9fY29sbGlnbm9uLS15ZWxsb3cgOiAjRkVEMTAwO1xuJGNvbG9yX19jb2xsaWdub24tLWdyZXkgOiAjOUI5QTlGO1xuXG4kY29sb3JfX25ldXRyYWwtLWxpZ2h0IDogI2IzYjRiOTtcbiRjb2xvcl9fbmV1dHJhbCA6ICMxYjFmMmU7XG4kY29sb3JfX25ldXRyYWwtLWRhcmsgOiAjOEY4RjhGO1xuJGNvbG9yX190ZXh0IDogIzEzMTYyNTtcblxuJGNvbG9yX19ncmF5LS1saWdodCA6ICNmM2YzZjM7XG5cbiRjb2xvcl9fc2xpZGVyIDogI2VmZWZlZjtcbiRjb2xvcl9fc3VidGl0bGUgOiAjNmQ2ZTcxO1xuJGNvbG9yX19mb290ZXIgOiAjMmIyYjJiO1xuJGNvbG9yX19zdWJoZWFkaW5nIDogI0U5RTlFOTtcblxuJGNvbG9yX19mYWNlYm9vayA6ICMzYjU5OTg7XG4kY29sb3JfX3R3aXR0ZXIgOiAjNTVhY2VlO1xuJGNvbG9yX19saW5rZWRpbiA6ICMwMDc3YjU7XG4kY29sb3JfX2luc3RhZ3JhbSA6ICM3MzMyQkU7XG4kY29sb3JfX3lvdXR1YmUgOiAjRUQyNjAyO1xuJGNvbG9yX19nb29nbGVwbHVzIDogI0RENEIzOTtcblxuJGNvbG9yX19lcnJvciA6ICRjb2xvcl9fY29sbGlnbm9uLS1yZWQ7XG4kY29sb3JfX3N1Y2Nlc3MgOiRjb2xvcl9fY29sbGlnbm9uLS1ncmVlbjtcblxuLyoqXG4gKiBUZXh0XG4gKi9cblxuJHRleHRfX2ZhbWlseS1zYW5zIDogXCJBdmVuaXIgTFQgU3RkXCIsIEF2ZW5pciwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjs7XG4kdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlIDogXCJBdmVuaXIgTFQgU3RkXCIsIEF2ZW5pciwgRnV0dXJhLCBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgc2Fucy1zZXJpZjs7XG4kdGV4dF9fY29sb3ItLWJhc2UgOiAkY29sb3JfX3RleHQ7XG4kYmFzZV9fZm9udC1zaXplIDogMTY7XG4kYmFzZV9fbGluZSA6IDI1O1xuXG4vKipcbiAqIFJlc3BvbnNpdmVcbiAqL1xuXG4kdmlld3BvcnRfbGFyZ2UgOiAxNDQ1cHg7XG4kdmlld3BvcnQgOiAxNDQwcHg7XG4kdmlld3BvcnRfc21hbGwgOiAxMDI0cHg7XG4kdGFibGV0IDogOTcwcHg7XG4kbW9iaWxlIDogNjAwcHg7XG4kcGFkZGluZyA6IDEwMDtcbiR2X3NwYWNpbmcgOiAxMDA7XG4kdl9zcGFjaW5nX3NtYWxsIDogNTA7XG5cblxuLyoqXG4gKiBTdXN5XG4gKi9cblxuJHN1c3kgOiAoXG5cdGNvbHVtbnM6IDEyLFxuXHRndXR0ZXJzOiAxLzIsXG5cdG1hdGg6IGZsdWlkLFxuXHRvdXRwdXQ6IGZsb2F0LFxuXHRndXR0ZXItcG9zaXRpb246IGFmdGVyLFxuKTtcblxuLyoqXG4gKiBFYXNpbmdcbiAqL1xuXG4kbGluZWFyIDogY3ViaWMtYmV6aWVyKC4yNTAsIC4yNTAsIC43NTAsIC43NTApO1xuJGVhc2VJblF1YWQgOiBjdWJpYy1iZXppZXIoLjU1MCwgLjA4NSwgLjY4MCwgLjUzMCk7XG4kZWFzZUluQ3ViaWMgOiBjdWJpYy1iZXppZXIoLjU1MCwgLjA1NSwgLjY3NSwgLjE5MCk7XG4kZWFzZUluUXVhcnQgOiBjdWJpYy1iZXppZXIoLjg5NSwgLjAzMCwgLjY4NSwgLjIyMCk7XG4kZWFzZUluUXVpbnQgOiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1MCwgLjg1NSwgLjA2MCk7XG4kZWFzZUluU2luZSA6IGN1YmljLWJlemllciguNDcwLCAuMDAwLCAuNzQ1LCAuNzE1KTtcbiRlYXNlSW5FeHBvIDogY3ViaWMtYmV6aWVyKC45NTAsIC4wNTAsIC43OTUsIC4wMzUpO1xuJGVhc2VJbkNpcmMgOiBjdWJpYy1iZXppZXIoLjYwMCwgLjA0MCwgLjk4MCwgLjMzNSk7XG4kZWFzZUluQmFjayA6IGN1YmljLWJlemllciguNjAwLCAwLCAuNzM1LCAuMDQ1KTtcbiRlYXNlT3V0UXVhZCA6IGN1YmljLWJlemllciguMjUwLCAuNDYwLCAuNDUwLCAuOTQwKTtcbiRlYXNlT3V0Q3ViaWMgOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxMCwgLjM1NSwgMS4wMDApO1xuJGVhc2VPdXRRdWFydCA6IGN1YmljLWJlemllciguMTY1LCAuODQwLCAuNDQwLCAxLjAwMCk7XG4kZWFzZU91dFF1aW50IDogY3ViaWMtYmV6aWVyKC4yMzAsIDEuMDAwLCAuMzIwLCAxLjAwMCk7XG4kZWFzZU91dFNpbmUgOiBjdWJpYy1iZXppZXIoLjM5MCwgLjU3NSwgLjU2NSwgMS4wMDApO1xuJGVhc2VPdXRFeHBvIDogY3ViaWMtYmV6aWVyKC4xOTAsIDEuMDAwLCAuMjIwLCAxLjAwMCk7XG4kZWFzZU91dENpcmMgOiBjdWJpYy1iZXppZXIoLjA3NSwgLjgyMCwgLjE2NSwgMS4wMDApO1xuJGVhc2VPdXRCYWNrIDogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMjAsIDEpO1xuJGVhc2VJbk91dFF1YWQgOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzMCwgLjUxNSwgLjk1NSk7XG4kZWFzZUluT3V0Q3ViaWMgOiBjdWJpYy1iZXppZXIoLjY0NSwgLjA0NSwgLjM1NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1YXJ0IDogY3ViaWMtYmV6aWVyKC43NzAsIC4wMDAsIC4xNzUsIDEuMDAwKTtcbiRlYXNlSW5PdXRRdWludCA6IGN1YmljLWJlemllciguODYwLCAuMDAwLCAuMDcwLCAxLjAwMCk7XG4kZWFzZUluT3V0U2luZSA6IGN1YmljLWJlemllciguNDQ1LCAuMDUwLCAuNTUwLCAuOTUwKTtcbiRlYXNlSW5PdXRFeHBvIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAuMDAwLCAuMDAwLCAxLjAwMCk7XG4kZWFzZUluT3V0Q2lyYyA6IGN1YmljLWJlemllciguNzg1LCAuMTM1LCAuMTUwLCAuODYwKTtcbiRlYXNlSW5PdXRCYWNrIDogY3ViaWMtYmV6aWVyKC42ODAsIDAsIC4yNjUsIDEpO1xuXG4kbWFpbkVhc2UgOiAkZWFzZUluU2luZTtcbiIsIlxuQG1peGluIGltcG9ydEZvbnQoJG5hbWUsICRwYXRoLCAkd2VpZ2h0IDogNDAwLCAkc3R5bGU6IG5vcm1hbCkge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseSA6ICRuYW1lO1xuICAgICAgICBmb250LXdlaWdodCA6ICR3ZWlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGUgOiAkc3R5bGU7XG5cbiAgICAgICAgc3JjIDogdXJsKFwiI3skZm9udHN9I3skcGF0aH0uZW90XCIpO1xuICAgICAgICBzcmMgOiB1cmwoXCIjeyRmb250c30jeyRwYXRofS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICB1cmwoXCIjeyRmb250c30jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgIHVybChcIiN7JGZvbnRzfSN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgICAgdXJsKFwiI3skZm9udHN9I3skcGF0aH0uc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICB9XG59XG5cbi8vIFVzYWdlOlxuLy8gQGV4dGVuZCAlZm9udC1yZWd1bGFyO1xuJWZvbnQtcmVndWxhciB7XG4gICAgZm9udC13ZWlnaHQgOiA1MDA7XG59XG5cbi8vIFVzYWdlOlxuLy8gQGV4dGVuZCAlZm9udC1tZWRpdW07XG4lZm9udC1tZWRpdW0ge1xuICAgIGZvbnQtd2VpZ2h0IDogNjAwO1xufVxuXG5cbi8vQGluY2x1ZGUgaW1wb3J0Rm9udCgnZm9udC1uYW1lJywgJ2ZpbGUtbmFtZScpO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFWRU5JUiBMVCAvLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG5cdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrLmVvdCcpO1xuXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFjay5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrLnN2ZyNBdmVuaXJMVFN0ZC1CbGFjaycpIGZvcm1hdCgnc3ZnJyk7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gQGZvbnQtZmFjZSB7XG4vLyBcdGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG4vLyBcdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0LmVvdCcpO1xuLy8gXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1MaWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbi8vIFx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1MaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0LnN2ZyNBdmVuaXJMVFN0ZC1MaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4vLyBcdGZvbnQtd2VpZ2h0OiAzMDA7XG4vLyBcdGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vIH1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFN0ZCc7XG5cdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU1lZGl1bS5lb3QnKTtcblx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtLnN2ZyNBdmVuaXJMVFN0ZC1NZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gXHRmb250LWZhbWlseTogJ0F2ZW5pciBMVCBTdGQnO1xuLy8gXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eU9ibGlxdWUuZW90Jyk7XG4vLyBcdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5T2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eU9ibGlxdWUud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5T2JsaXF1ZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5T2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5T2JsaXF1ZS5zdmcjQXZlbmlyTFRTdGQtSGVhdnlPYmxpcXVlJykgZm9ybWF0KCdzdmcnKTtcbi8vIFx0Zm9udC13ZWlnaHQ6IDkwMDtcbi8vIFx0Zm9udC1zdHlsZTogaXRhbGljO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vIFx0Zm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcbi8vIFx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtT2JsaXF1ZS5lb3QnKTtcbi8vIFx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtT2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1NZWRpdW1PYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1NZWRpdW1PYmxpcXVlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vIFx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtTWVkaXVtT2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU1lZGl1bU9ibGlxdWUuc3ZnI0F2ZW5pckxUU3RkLU1lZGl1bU9ibGlxdWUnKSBmb3JtYXQoJ3N2ZycpO1xuLy8gXHRmb250LXdlaWdodDogNTAwO1xuLy8gXHRmb250LXN0eWxlOiBpdGFsaWM7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gXHRmb250LWZhbWlseTogJ0F2ZW5pciBMVCBTdGQnO1xuLy8gXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFja09ibGlxdWUuZW90Jyk7XG4vLyBcdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrT2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1CbGFja09ibGlxdWUud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrT2JsaXF1ZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrT2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJsYWNrT2JsaXF1ZS5zdmcjQXZlbmlyTFRTdGQtQmxhY2tPYmxpcXVlJykgZm9ybWF0KCdzdmcnKTtcbi8vIFx0Zm9udC13ZWlnaHQ6IDkwMDtcbi8vIFx0Zm9udC1zdHlsZTogaXRhbGljO1xuLy8gfVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcblx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtUm9tYW4uZW90Jyk7XG5cdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Sb21hbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLVJvbWFuLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtUm9tYW4uc3ZnI0F2ZW5pckxUU3RkLVJvbWFuJykgZm9ybWF0KCdzdmcnKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcblx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtT2JsaXF1ZS5lb3QnKTtcblx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtT2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1PYmxpcXVlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1PYmxpcXVlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtT2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLU9ibGlxdWUuc3ZnI0F2ZW5pckxUU3RkLU9ibGlxdWUnKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gXHRmb250LWZhbWlseTogJ0F2ZW5pciBMVCBTdGQnO1xuLy8gXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1MaWdodE9ibGlxdWUuZW90Jyk7XG4vLyBcdHNyYzogdXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0T2JsaXF1ZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1MaWdodE9ibGlxdWUud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0T2JsaXF1ZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0T2JsaXF1ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUxpZ2h0T2JsaXF1ZS5zdmcjQXZlbmlyTFRTdGQtTGlnaHRPYmxpcXVlJykgZm9ybWF0KCdzdmcnKTtcbi8vIFx0Zm9udC13ZWlnaHQ6IDMwMDtcbi8vIFx0Zm9udC1zdHlsZTogaXRhbGljO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vIFx0Zm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgU3RkJztcbi8vIFx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9vay5lb3QnKTtcbi8vIFx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9vay5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Cb29rLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Cb29rLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vIFx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9vay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJvb2suc3ZnI0F2ZW5pckxUU3RkLUJvb2snKSBmb3JtYXQoJ3N2ZycpO1xuLy8gXHRmb250LXdlaWdodDogbm9ybWFsO1xuLy8gXHRmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ0F2ZW5pciBMVCBTdGQnO1xuXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eS5lb3QnKTtcblx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtSGVhdnkuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtSGVhdnkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUhlYXZ5LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtSGVhdnkudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1IZWF2eS5zdmcjQXZlbmlyTFRTdGQtSGVhdnknKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gXHRmb250LWZhbWlseTogJ0F2ZW5pciBMVCBTdGQnO1xuLy8gXHRzcmM6IHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Cb29rT2JsaXF1ZS5lb3QnKTtcbi8vIFx0c3JjOiB1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9va09ibGlxdWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbi8vIFx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9va09ibGlxdWUud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyBcdFx0dXJsKCcjeyRmb250c31hdmVuaXItbHQtc3RkL0F2ZW5pckxUU3RkLUJvb2tPYmxpcXVlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vIFx0XHR1cmwoJyN7JGZvbnRzfWF2ZW5pci1sdC1zdGQvQXZlbmlyTFRTdGQtQm9va09ibGlxdWUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuLy8gXHRcdHVybCgnI3skZm9udHN9YXZlbmlyLWx0LXN0ZC9BdmVuaXJMVFN0ZC1Cb29rT2JsaXF1ZS5zdmcjQXZlbmlyTFRTdGQtQm9va09ibGlxdWUnKSBmb3JtYXQoJ3N2ZycpO1xuLy8gXHRmb250LXdlaWdodDogbm9ybWFsO1xuLy8gXHRmb250LXN0eWxlOiBpdGFsaWM7XG4vLyB9IiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcImVpZmZhZ2VcIjtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL2VpZmZhZ2UvZWlmZmFnZS5lb3Q/MC4wLjMnKTtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL2VpZmZhZ2UvZWlmZmFnZS5lb3Q/MC4wLjMjaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxuXHRcdHVybCgnLi4vZm9udHMvZWlmZmFnZS9laWZmYWdlLndvZmYyPzAuMC4zJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnLi4vZm9udHMvZWlmZmFnZS9laWZmYWdlLndvZmY/MC4wLjMnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2VpZmZhZ2UvZWlmZmFnZS50dGY/MC4wLjMnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcuLi9mb250cy9laWZmYWdlL2VpZmZhZ2Uuc3ZnPzAuMC4zI2VpZmZhZ2UnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uaWNvbjpiZWZvcmUge1xuXHRmb250LWZhbWlseTogXCJlaWZmYWdlXCI7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG4uaWNvbi1hZGRyZXNzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XG59XG5cbi5pY29uLWFyY2hpdGVjdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwMlwiO1xufVxuXG4uaWNvbi1hcmVhOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XG59XG5cbi5pY29uLWFycm93LWJvdHRvbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwNFwiO1xufVxuXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDA1XCI7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0LWZpbGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDZcIjtcbn1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDdcIjtcbn1cblxuLmljb24tYXJyb3ctdG9wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDA4XCI7XG59XG5cbi5pY29uLWJhbGFuY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDlcIjtcbn1cblxuLmljb24tYmVoYXZpb3I6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMEFcIjtcbn1cblxuLmljb24tYnVkZ2V0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDBCXCI7XG59XG5cbi5pY29uLWNpdGF0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDBDXCI7XG59XG5cbi5pY29uLWNsZWFybmVzczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRFwiO1xufVxuXG4uaWNvbi1jbG9zZS1mYXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMEVcIjtcbn1cblxuLmljb24tY29pbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwRlwiO1xufVxuXG4uaWNvbi1jb21wYW55OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDEwXCI7XG59XG5cbi5pY29uLWNvbmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMTFcIjtcbn1cblxuLmljb24tY29uc3RydWN0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDEyXCI7XG59XG5cbi5pY29uLWNyb3NzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDEzXCI7XG59XG5cbi5pY29uLWNyb3dkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE0XCI7XG59XG5cbi5pY29uLWRhdGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMTVcIjtcbn1cblxuLmljb24tZG5hOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE2XCI7XG59XG5cbi5pY29uLWVtYWlsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE3XCI7XG59XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDE4XCI7XG59XG5cbi5pY29uLWZheDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxOVwiO1xufVxuXG4uaWNvbi1nb29nbGVwbHVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDFBXCI7XG59XG5cbi5pY29uLWdyb3d0aDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxQlwiO1xufVxuXG4uaWNvbi1oYW5kczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAxQ1wiO1xufVxuXG4uaWNvbi1oZWxtZXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMURcIjtcbn1cblxuLmljb24taG91c2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMUVcIjtcbn1cblxuLmljb24taHlkcmF1bGljOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDFGXCI7XG59XG5cbi5pY29uLWluZm9ybWF0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDIwXCI7XG59XG5cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyMVwiO1xufVxuXG4uaWNvbi1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDIyXCI7XG59XG5cbi5pY29uLWxpbms6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMjNcIjtcbn1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMjRcIjtcbn1cblxuLmljb24tbG9hZGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDI1XCI7XG59XG5cbi5pY29uLW1hcmtlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyNlwiO1xufVxuXG4uaWNvbi1tZWRhbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyN1wiO1xufVxuXG4uaWNvbi1ub3RlczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyOFwiO1xufVxuXG4uaWNvbi1vcGVuLWRvb3I6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMjlcIjtcbn1cblxuLmljb24tcGRmOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDJBXCI7XG59XG5cbi5pY29uLXBlcnNldmVyYW5jZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyQlwiO1xufVxuXG4uaWNvbi1wZXJzb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMkNcIjtcbn1cblxuLmljb24tcGhvbmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMkRcIjtcbn1cblxuLmljb24tcGxheTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyRVwiO1xufVxuXG4uaWNvbi1yZXNwb25zaWJpbGl0eTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAyRlwiO1xufVxuXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzBcIjtcbn1cblxuLmljb24tc291bmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzFcIjtcbn1cblxuLmljb24tc3RhcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAzMlwiO1xufVxuXG4uaWNvbi1zdWl0Y2FzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAzM1wiO1xufVxuXG4uaWNvbi10YXJnZXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzRcIjtcbn1cblxuLmljb24tdG9vbHM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzVcIjtcbn1cblxuLmljb24tdHJ1c3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzZcIjtcbn1cblxuLmljb24tdHVybm92ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMzdcIjtcbn1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAzOFwiO1xufVxuXG4uaWNvbi11c2VyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDM5XCI7XG59XG5cbi5pY29uLXZhbGlkZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAzQVwiO1xufVxuXG4uaWNvbi13ZW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwM0JcIjtcbn1cblxuLmljb24teW91dHViZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAzQ1wiO1xufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwia2V5ZnJhbWVzXCIpO1xuXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBBbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoc2hvd1VwKSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDE1JSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAwJSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNob3dVcFRpdGxlKSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDE1JSkpO1xuXG4gICAgICAgIC8vb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDAlKSk7XG5cbiAgICAgICAgLy9vcGFjaXR5IDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhzaG93RG93bikge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTE1JSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGhpZGVEb3duKSB7XG4gICAgMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxNSUpKTtcblxuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhoaWRlVXApIHtcbiAgICAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblxuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xNSUpKTtcblxuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhzaG93TGVmdCkge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTE1JSkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xuXG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHNob3dSaWdodCkge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTUlKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG5cbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoYmFja2dyb3VuZFBvc2l0aW9uKSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IC02MDBweCBjZW50ZXI7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IDAgY2VudGVyO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGxvYWRlcikge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhsb2FkZXItaW5uZXIpIHtcbiAgICAwJSB7XG4gICAgICAgIGhlaWdodCA6IDAlO1xuICAgIH1cblxuICAgIDI1JSB7XG4gICAgICAgIGhlaWdodCA6IDAlO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIGhlaWdodCA6IDEwMCU7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgaGVpZ2h0IDogMTAwJTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgaGVpZ2h0IDogMCU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoIGxvYWRlci1zcGlubmVyICkge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKCAwZGVnICk7XG4gICAgfVxuICAxMDAlIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSggMzYwZGVnICk7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoIG1lbnVfaXRlbV91bmRlcmxpbmVfYWN0aXZlICkge1xuICAgIDAlIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuICAxMDAlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHN3aW5nX3Nob3cpIHtcbiAgICAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuICAgIDIwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01cHgpKTtcbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDVweCkpO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNXB4KSk7XG4gICAgfVxuICAgIDgwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDVweCkpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENsZWFyZml4XG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiBzbW9vdGgoKXtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoKXtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiAgICBub25lO1xuICAgIGFwcGVhcmFuY2U6ICAgICAgICAgbm9uZTtcbn1cblxuLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzM7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gRmlyZWZveCAxOStcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLiBOb3RlXG4vLyB0aGF0IHdlIGNhbm5vdCBjaGFpbiB0aGUgbWl4aW5zIHRvZ2V0aGVyIGluIExlc3MsIHNvIHRoZXkgYXJlIHJlcGVhdGVkLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogI3swLzB9IGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgZm9udDogI3swLzB9IGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbiVoaWRkZW4ge1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLWtodG1sLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG4vLyBEcm9wIHNoYWRvd3NcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIFRyYW5zaXRpb25zXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm0pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gICAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5KCRhbmltYXRpb24tcGxheSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRhbmltYXRpb24tcGxheTtcbiAgICAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogJGFuaW1hdGlvbi1wbGF5O1xuICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRhbmltYXRpb24tcGxheTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAtby11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6ICN7YWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSl9O1xufVxuXG5cblxuLy8gR1JBRElFTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAkc3RhcnQtcGVyY2VudCB0b3AsICRlbmQtcGVyY2VudCB0b3AsIGZyb20oJHN0YXJ0LWNvbG9yKSwgdG8oJGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKCRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcbiAgYmFja2dyb3VuZC1pbWFnZTogIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCAkc3RhcnQtcGVyY2VudCwgbGVmdCAkZW5kLXBlcmNlbnQsIGZyb20oJHN0YXJ0LWNvbG9yKSwgdG8oJGVuZC1jb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAgLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gRkYgMy42K1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gRkYgMy42K1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oJHN0YXJ0LWNvbG9yKSwgY29sb3Itc3RvcCgkY29sb3Itc3RvcCwgJG1pZC1jb2xvciksIHRvKCRlbmQtY29sb3IpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oJGlubmVyLWNvbG9yKSwgdG8oJG91dGVyLWNvbG9yKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgJGNvbG9yKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCAkY29sb3IpLCBjb2xvci1zdG9wKC43NSwgJGNvbG9yKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cblxuXG5cbi8vIFJldGluYSBpbWFnZXNcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemVcblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZS0yeH1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCR2YWx1ZSkge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJHZhbHVlO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogJHZhbHVlO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6ICR2YWx1ZTtcbiAgYmFja2dyb3VuZC1zaXplOiAkdmFsdWU7XG59XG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAmID4gLmRyb3Bkb3duIC5jYXJldCB7XG4gICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cblxuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gdmFyaWFudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA4JSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgOCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9IH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfSB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0geyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAgICN7JHBhcmVudH0sXG4gIHRyI3skcGFyZW50fSxcbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogICgkZ3V0dGVyIC8gLTIpO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3V0dGVyIC8gLTIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW4gb2Zmc2V0c1xuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uIG9mZnNldHNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gR3JpZCBjb252ZXJ0ZWQgdG8gdXNlIFNBU1MgY3ljbGVzIChMRVNTIHVzZXMgcmVjdXJzaXZlIG5lc3RlZCBtaXhpbiBkZWZzIG5vdCBzdXBwb3J0ZWQgYnkgU0FTUylcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygpIHtcbiAgJGxpc3Q6ICcnO1xuICAkaTogMTtcbiAgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX0sICN7JGxpc3R9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIEdyaWQgY29udmVydGVkIHRvIHVzZSBTQVNTIGN5Y2xlcyAoTEVTUyB1c2VzIHJlY3Vyc2l2ZSBuZXN0ZWQgbWl4aW4gZGVmcyBub3Qgc3VwcG9ydGVkIGJ5IFNBU1MpXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMtZmxvYXQoJGNsYXNzKSB7XG4gICRsaXN0OiAnJztcbiAgJGk6IDE7XG4gICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX0sICN7JGxpc3R9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZCgkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU0FTUyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZCgkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7IGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgfVxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vL01JWElPTiBQT1NJVElPTiBGUk9NIEJPVVJCT05cbkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiAwIDAgMCAwKSB7XG5cbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAoJHRvcCBhbmQgJHRvcCA9PSBhdXRvKSBvciAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkdG9wKSkge1xuICAgIHRvcDogJHRvcDtcbiAgfVxuXG4gIEBpZiAoJHJpZ2h0IGFuZCAkcmlnaHQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHJpZ2h0KSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkcmlnaHQpKSB7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgfVxuXG4gIEBpZiAoJGJvdHRvbSBhbmQgJGJvdHRvbSA9PSBhdXRvKSBvciAodHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkYm90dG9tKSkge1xuICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJGxlZnQgYW5kICRsZWZ0ID09IGF1dG8pIG9yICh0eXBlLW9mKCRsZWZ0KSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkbGVmdCkpIHtcbiAgICBsZWZ0OiAkbGVmdDtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY2hhbmdlczogTm9vbWlhLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG5vb21pYSgkc3R5bGUgOiBkYXJrKSB7XG4gICAgLm5vb21pYSB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICB3aWR0aCA6IDgxcHg7XG4gICAgICAgIGhlaWdodCA6IDE1cHg7XG5cbiAgICAgICAgdGV4dC1pbmRlbnQgOiAtOTk5OXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcblxuICAgICAgICAgICAgY29udGVudCA6IFwiXCI7XG5cbiAgICAgICAgICAgIG9wYWNpdHkgOiAuNztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDgxcHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGRhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tZGFyay5zdmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRzdHlsZSA9PSBsaWdodCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1saWdodC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC4zcyAkZWFzZUluUXVhZCk7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgd2lkdGggOiAwO1xuICAgICAgICAgICAgaGVpZ2h0IDogMTAwJTtcblxuICAgICAgICAgICAgY29udGVudCA6IFwiXCI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDgxcHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIEBpZiAoJHN0eWxlID09IGRhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tZGFyay5zdmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRzdHlsZSA9PSBsaWdodCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1saWdodC5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBncmF5c2NhbGVfZWxlbWVudCgkdmFsdWUpIHtcbiAgICAtd2Via2l0LWZpbHRlcjogI3tcImdyYXlzY2FsZSgjeyR2YWx1ZX0pXCJ9O1xuICAgIC1tb3otZmlsdGVyOiAje1wiZ3JheXNjYWxlKCN7JHZhbHVlfSlcIn07XG4gICAgZmlsdGVyOiN7XCJncmF5c2NhbGUoI3skdmFsdWV9KVwifTtcbn1cblxuLy8vIEJsb2NrIEVsZW1lbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudCAtIEVsZW1lbnQncyBuYW1lXG5AbWl4aW4gZSgkZWxlbWVudCkge1xuICAgICZfXyN7JGVsZW1lbnR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLy8gQmxvY2sgTW9kaWZpZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kaWZpZXIgLSBNb2RpZmllcidzIG5hbWVcbkBtaXhpbiBtKCRtb2RpZmllcikge1xuICAgICYtLSN7JG1vZGlmaWVyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRjb250ZXh0OiAkYmFzZV9fZm9udC1zaXplKSB7XG4gICAgQHJldHVybiAoJHRhcmdldCAvICRjb250ZXh0KSAqIDFlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkdGFyZ2V0KSB7XG4gICAgQHJldHVybiAoJHRhcmdldCAvICRiYXNlX19mb250LXNpemUpICogMXJlbTtcbn1cblxuQG1peGluIHRleHQoJHNpemUsICRsaW5lLCAkbWFyZ2luOiAwLCAkZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnMsICRjb2xvcjogJHRleHRfX2NvbG9yLS1iYXNlLCAkd2VpZ2h0OiBub3JtYWwpIHtcbiAgICBmb250LXNpemU6IGVtKCRzaXplKTtcbiAgICBsaW5lLWhlaWdodDogKCRsaW5lLyRzaXplKTtcbiAgICBmb250LWZhbWlseTogJGZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IGVtKCRtYXJnaW4sICRzaXplKTtcbn1cblxuQG1peGluIG1haW50YWluLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3Jle1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG5cbiAgLyogPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9ICovXG59XG5cbkBtaXhpbiBjaXJjbGUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICR3aWR0aDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICAgIEBleHRlbmQgLmljb247XG4gICAgICAgIEBleHRlbmQgLmljb24tYXJyb3ctcmlnaHQ7XG5cbiAgICAgICAgbGluZS1oZWlnaHQgOiByZW0oMTgpO1xuXG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG5cbiAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgICAgICBtYXJnaW4tcmlnaHQgOiByZW0oMTApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogcmVtKDE1KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplIDogcmVtKDEwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0IDogcmVtKDE0KTtcblxuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICByaWdodCA6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcblxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHMgOiBub25lO1xuXG4gICAgICAgICAgICBjb2xvciA6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMXB4KSB7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5wYWdlX19kZWZhdWx0ICYsXG4gICAgLnBhZ2VfX3NlYXJjaCAmIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnBhZ2VfX3NpbmdsZV9yZWFsaXNhdGlvbnMgJixcbiAgICAucGFnZV9fc2luZ2xlX2pvYnMgJiB7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICB9XG4gIH1cblxuICAmLS1ub3NwYWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gIH1cbiAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgfVxuXG4gIC5jZW50ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IDEwMHB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRpbmdfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDFweCkge1xuICAgICAgLnBhZ2VfX2RlZmF1bHQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICAgICAqIFNpZGUgc3BhY2luZyBiYXNlZCBvbiAuY2VudGVyXG4gICAgICAgICAqL1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgbGVmdDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgcmlnaHQ6IDEuODc1ZW07IC8vIDMwcHhcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBleHRlbmQgLmh5cGhlbmF0ZS1tb2JpbGU7XG5cbiAgICAuY29sb3JfbGlnaHQgJiB7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG4gICAgLmNvbG9yX2RhcmsgJiB7XG4gICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzc3O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBleHRlbmQgLmh5cGhlbmF0ZS1tb2JpbGU7XG5cbiAgICAuY29sb3JfbGlnaHQgJiB7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG4gICAgLmNvbG9yX2RhcmsgJiB7XG4gICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgIH1cbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICAvLyBCYWtjZ3JvdW5kIGNvbG9yc1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fY29sbGlnbm9uLS1ncmV5O1xuXG4gICAgLyoqXG4gICAgICAgIExpc3Qgb2YgY29sb3VyczpcbiAgICAgICAgY29sb3JfX3JlZCA6IFJvdWdlXG4gICAgICAgIGNvbG9yX19ncmVlbiA6IFZlcnRcbiAgICAgICAgY29sb3JfX3llbGxvdyA6IEphdW5lXG4gICAgICAgIGNvbG9yX19ibHVlIDogQmxldVxuICAgICAgICBjb2xvcl9fZ3JleSA6IEdyaXNcbiAgICAgICAgICovXG5cbiAgICAuYmdfY29sb3JfX2dyZWVuICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19jb2xsaWdub24tLWdyZWVuO1xuICAgIH1cblxuICAgIC5iZ19jb2xvcl9fcmVkICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19jb2xsaWdub24tLXJlZDtcbiAgICB9XG5cbiAgICAuYmdfY29sb3JfX2JsdWUgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2NvbGxpZ25vbi0tYmx1ZTtcbiAgICB9XG5cbiAgICAuYmdfY29sb3JfX3llbGxvdyAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fY29sbGlnbm9uLS15ZWxsb3c7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgfVxufVxuXG4uYnJlYWRjcnVtYiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGEge1xuICAgIGNvbG9yOiByZ2JhKCRjb2xvcl9fd2hpdGUsIDAuOCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjJzIGVhc2Utb3V0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGV4dGVuZCAuaWNvbi1hcnJvdy1yaWdodC1maWxsO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG4gICAgLy8gRGFya2VuIG9uIHllbGxvd1xuICAgIC5jb2xvcl9kYXJrICYge1xuICAgICAgY29sb3I6IHJnYmEoJGNvbG9yX19uZXV0cmFsLCAwLjgpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNwYW4ge1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIC5jb2xvcl9kYXJrICYge1xuICAgICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICB9XG4gIH1cbn1cblxuLnN1Yl9oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zdWJoZWFkaW5nO1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XG5cbiAgLnd5c2l3eWcge1xuICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuIiwiLnd5c2l3eWcge1xuXG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuXG4gICAgLy8gQ2xlYXJmaXggZmxvYXRpbmcgY29udGVudCBleDogaW1hZ2VcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiAyMHB4O1xuICAgIH1cblxuICAgICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiAwO1xuICAgIH1cblxuICAgICYtLWxpZ2h0IHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDIwJTsgcmlnaHQ6IDIwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRtYWluRWFzZSwgbGVmdCAwLjJzICRtYWluRWFzZSwgcmlnaHQgMC4ycyAkbWFpbkVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1haW5fbGluayB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSU1BR0VTXG4gICAgICovXG5cbiAgICBhIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICAgICAgbWF4LXdpZHRoIDogMTAwJTtcbiAgICAgICAgbWFyZ2luIDogMCAwIGVtKDMwKSAwO1xuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplIDogZW0oMTIpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLWxlZnQge1xuICAgICAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiBlbSgzMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0IDogcmlnaHQ7XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDogZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4gOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAmLmFsaWdubGVmdCB7XG4gICAgICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IGVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICBmbG9hdCA6IHJpZ2h0O1xuXG4gICAgICAgICAgICBtYXJnaW4tbGVmdCA6IGVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luIDogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBII1xuICAgICAqL1xuXG4gICAgICAgIGgxLCBoMiwgaDMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjhweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgICAgIH1cbiAgICAgICAgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaXRhdGlvblxuICAgICAqL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBleHRlbmQgLmljb247XG4gICAgICAgIEBleHRlbmQgLmljb24tY2l0YXRpb247XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDFlbSAxMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogaHJcbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luIDogZW0oMzApO1xuXG4gICAgICAgIGJvcmRlciA6IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpc3RcbiAgICAgKi9cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luIDogMCAwIGVtKDMwKTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IGVtKDEwKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDogZW0oMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogZW0oMjApO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDAuNWVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBjb3VudGVyLXJlc2V0IDogbGlzdDtcblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogZW0oMjApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcCA6IDA7XG4gICAgICAgICAgICAgICAgbGVmdCA6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAgY29udGVudCA6IGNvdW50ZXIobGlzdCkgXCIuIFwiO1xuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogbGlzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJ1dHRvbiB7XG4gICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmUgOiBub25lO1xuICAgIH1cbn1cblxuLnNxdWFyZV9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMXB4ICk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgIH1cblxuICAgICYtLXByZXYge1xuICAgICAgICBAZXh0ZW5kIC5zcXVhcmVfX2J1dHRvbiwgLmljb24sIC5pY29uLWFycm93LWxlZnQ7XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICAgIEBleHRlbmQgLnNxdWFyZV9fYnV0dG9uLCAuaWNvbiwgLmljb24tYXJyb3ctcmlnaHQ7XG4gICAgfVxufVxuXG4uY2xvc2VfX2J1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay0tYmFzaWMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlOyByaWdodDogMjAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkbWFpbkVhc2UsIGxlZnQgMC4ycyAkbWFpbkVhc2UsIHJpZ2h0IDAuMnMgJG1haW5FYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGxlZnQ6IDA7IHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLS1jbG9zZSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZSgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgLy8gU2VtaSBCb2xkXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY2FsZSggMS4xNSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzICRtYWluRWFzZTtcbiAgICB9XG59XG5cblxuLmJ0bi0tc3Ryb2tlIHtcblx0QGluY2x1ZGUgYXBwZWFyYW5jZSgpO1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cdHBhZGRpbmc6IDE1cHggMjBweDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgJG1haW5FYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJG1haW5FYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cdFx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cdH1cbn0iLCIuZm9ybSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLy8gUmVtb3ZlIGRlZmF1bHQgaWUgY2xlYXIgYnV0dG9uIChYKVxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi8vIFJlbW92ZSBkZWZhdWx0IGllIHNlbGVjdCBhcnJvd1xuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmllbGQtLXNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmllbGQtLWhhbGYge1xuICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDMwcHgpIC8gMiApO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgJi0tZW5kIHtcbiAgICAgICAgQGV4dGVuZCAuZmllbGQtLWhhbGY7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbmJvZHkubW9iaWxlLCBib2R5LnRhYmxldCB7XG4gICAgLmZpZWxkLS1zZWxlY3QsIC5saXN0LXNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgLy8gQGV4dGVuZCAuaWNvbi1hcnJvdy1kb3duO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0ICk7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wIDogNTAlO1xuICAgICAgICAgICAgcmlnaHQgOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0cHg7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IC8vIGljb24gYXJyb3cgZG93blxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuICpcbiAqIE5JTkpBIEZPUk1TXG4gKlxuICovXG5cbiAvLyBTdWJtaXQgYnV0dG9uXG4uc3VibWl0LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gVGhlIGluZm9ybWF0aW9uIHRleHQgYmVmb3JlIHRoZSBmb3JtXG4ubmYtZm9ybS1maWVsZHMtcmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uZi1maWVsZCB7XG4gICAgLmZpZWxkLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZmllbGQtZWxlbWVudCBzZWxlY3QsIC5uZi1maWVsZC1lbGVtZW50IHRleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZSgpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSggJGNvbG9yX19uZXV0cmFsLS1saWdodCwgMC41ICk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcblxuICAgICAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuICAgIC5uZi1maWVsZC1lbGVtZW50IHRleHRhcmVhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBoZWlnaHQ6IDEwZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIGhlaWdodCAwLjJzICRlYXNlT3V0QmFjayApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgLnN1Ym1pdC13cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uZi1maWVsZC1lbGVtZW50IGlucHV0W3R5cGU9YnV0dG9uXSwgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cblx0XHRAZXh0ZW5kIC5idG4tLXN0cm9rZTtcbiAgICB9XG5cbiAgICAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIGJhY2tncm91bmQtY29sb3IgMC4ycyAkZWFzZU91dEJhY2ssIGZvbnQtc2l6ZSAwLjJzICRlYXNlT3V0QmFjayApO1xuICAgICAgICB9XG4gICAgICAgIC5sYWJlbC1hYm92ZSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dGFyZWEtY29udGFpbmVyICYge1xuICAgICAgICAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbGVfdXBsb2FkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuXG4gICAgJi5mb2N1c19pbiwgLmxpc3Qtc2VsZWN0LXdyYXAsIC5saXN0Y291bnRyeS13cmFwIHtcblxuICAgICAgICAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLy8gcmVxdWlyZWQgc3ltYm9sXG5sYWJlbCAubmluamEtZm9ybXMtcmVxLXN5bWJvbCB7XG4gICAgY29sb3I6ICRjb2xvcl9fZXJyb3I7XG59XG5cbi8vIFRoZSBmaWVsZFxuLm5mLWVycm9yIHtcbiAgICAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gICAgc2VsZWN0Lm5pbmphLWZvcm1zLWZpZWxkLCAuZGstc2VsZWN0Lm5pbmphLWZvcm1zLWZpZWxkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cbi8vIFRoZSBlcnJvciB0ZXh0IGFmdGVyIHRoZSBmb3JtXG4ubmYtZm9ybS1lcnJvcnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gVGhlIGVycm9yIHRleHQgYWZ0ZXIgdGhlIGZpZWxkXG4ubmYtYWZ0ZXItZmllbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIFRoZSBlcnJvciB0ZXh0IGFmdGVyIHRoZSBmb3JtXG5uZi1lcnJvcnMgLm5mLWVycm9yLW1zZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogc3dpbmdfc2hvdyAwLjhzICRlYXNlSW5DdWJpYztcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2Vycm9yO1xuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLy8gVGhlIHN1Y2Nlc3MgbWVzc2FnZSBvZiB0aGUgZm9ybVxuLm5mLXJlc3BvbnNlLW1zZyB7XG5cdEBleHRlbmQgLmljb24sIC5pY29uLXZhbGlkZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICRjb2xvcl9fc3VjY2Vzcztcblx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24oIHVwX3Nob3cgMC4ycyAkZWFzZUluQ3ViaWMgKTtcbn1cblxuLy8gRmlyc3QgY2hpbGQgb2YgdGhlIG5mLWZpZWxkIGVsZW1lbnRcbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIG5mLWZpZWxkICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IC8vIGJhZCBzZWxlY3RvclxuICAgIH1cblx0bmYtZmllbGQgJi5zcGFjZS1hZnRlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyAvLyBiYWQgc2VsZWN0b3Jcblx0fVxuXG4gICAgJi5oYWxmLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gMjBweCkgLyAyICk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmLWVuZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtX2NvbnRhaW5lciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC5uZi1mb3JtLWNvbnQgLm9uZS10aGlyZCwgLm5mLWZvcm0tY29udCAudHdvLXNpeHRocyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuLy8gRHJhZyBhbmQgZHJvcCB3aXRoIE5GXG4vLyAubmYtZmllbGQge1xuLy8gICAgIC8vIDEuIGhpZGUgc29tZSBlbGVtZW50c1xuLy8gICAgIC5uZi1mdS1maWxlaW5wdXQtYnV0dG9uLCAubmYtZnUtcHJvZ3Jlc3MsIC5maWxlaW5wdXQtYnV0dG9uLCAucHJvZ3Jlc3Mge1xuLy8gICAgICAgICAvLyBkaXNwbGF5OiBub25lOyAvLyBIaWRlIHByb2dyZXNzYmFyXG4vLyAgICAgfVxuLy8gICAgIC5maWxlX3VwbG9hZC13cmFwIHtcbi8vICAgICAgICAgLm5mLWZpZWxkLWVsZW1lbnQge1xuLy8gICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMjBweCApO1xuLy8gICAgICAgICB9XG4vLyAgICAgICAgIC5uZi1maWVsZC1sYWJlbCB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAvLyAyLiBzaG93IHNvbWUgZWxlbWVudHNcbi8vICAgICBpbnB1dFt0eXBlPWZpbGVdIHtcbi8vICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbi8vICAgICAgICAgaGVpZ2h0OiAxMDAlIWltcG9ydGFudDtcbi8vICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgIH1cbi8vIH1cblxuLy8gVXBsb2FkIGZpbGUgYnV0b25cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tbGF5b3V0IGZvcm0gLm5mLWZvcm0tY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmZpbGVfdXBsb2FkLWNvbnRhaW5lciBidXR0b24ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZDogJGNvbG9yX19uZXV0cmFsO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwcHggMTVweDtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tbGF5b3V0IGZvcm0gLm5mLWZvcm0tY29udGVudCAubmYtZmllbGQtY29udGFpbmVyIC5uZi1lcnJvciAubmYtZmllbGQtZWxlbWVudCAubmluamEtZm9ybXMtZmllbGQge1xuXHRib3JkZXItY29sb3I6ICRjb2xvcl9fd2hpdGUgIWltcG9ydGFudDtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tbGF5b3V0IGZvcm0gLm5mLWZvcm0tY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmZpbGVfdXBsb2FkLWNvbnRhaW5lciBpbnB1dCB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5uZi1mb3JtLWNvbnQgLm5mLWZvcm0tbGF5b3V0IGZvcm0gLm5mLWZvcm0tY29udGVudCAubmYtZmllbGQtY29udGFpbmVyLmZpbGVfdXBsb2FkLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInJlc2V0XCJdIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm5mLWZvcm0tY29udCAubmYtZnUtcHJvZ3Jlc3Mge1xuXHRoZWlnaHQ6IDNweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG4ubmYtZm9ybS1jb250IC5uZi1mdS1wcm9ncmVzcy1iYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG59XG4uZmlsZXNfdXBsb2FkZWQgLmRlbGV0ZSB7XG5cdGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmZpbGVzX3VwbG9hZGVkIHAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cbi5uZi1mb3JtLWNvbnRlbnQgLmZpbGVfdXBsb2FkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdGxhYmVsIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG4ubmYtZmllbGQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWxhYmVsIGxhYmVsIHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR0b3A6IC0xcHg7XG5cdFx0bGVmdDogLTI2cHg7XG5cdH1cbn1cblxuLy8gRXJyb3JzXG4ubmYtZm9ybS1jb250ZW50IC5uZi1lcnJvci5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmFmdGVyIHtcblx0d2lkdGg6IDIwcHg7XG59XG4iLCIubGlnaHRib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICZfX2luc2lkZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICZfX3Njcm9sbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIC5idG4tLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuXG4gICAgLnd5c2l3eWcubGlnaHRib3hfX2NvbnRlbnRfX3RleHRfX2xlYWRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgLy8gU2VtaSBCb2xkXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG59XG5cbi8vIEVhY2ggbGlnaHRib3hcbi5saWdodGJveCB7XG4gICAgJi0tdmlkZW8ge1xuICAgICAgICAubGlnaHRib3hfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oIDgwMHB4LCA0NTBweCApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoIC01MCUsIC01MCUgKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMzBweCApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG5cbiAgICAgICAgICAgICZfX3Njcm9sbCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjcGxheWVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi0tY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggNTAlLCAtNTAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hYm91dF9ncm91cCB7XG5cdFx0LmxpZ2h0Ym94X19jb250YWluZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG4gICAgICAgIC5saWdodGJveF9fY29udGVudCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oIDEyMDAsIDc2NyApO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuXHRcdFx0bWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAzMHB4ICk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcblxuXHRcdFx0Jl9faW5uZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcblx0XHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA4MDBweCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDIwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgICAgfVxuXG5cdFx0XHQubWFpbl9saW5rIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0Ym90dG9tOiAzMHB4O1xuXG5cdFx0XHRcdCYtLWJfbGVmdCB7XG5cdFx0XHRcdFx0bGVmdDogMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLS1iX3JpZ2h0IHtcblx0XHRcdFx0XHRyaWdodDogMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi0tY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggNTAlLCAtNTAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vdl9nYWxsZXJ5IHtcbiAgICAgICAgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKCAxMjAwcHgsIDc3MHB4ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAzMHB4ICk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGlnaHRib3hfX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1jbG9zZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIC01MCUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXHQmLS1hY2Nlc3NpYmlsaXR5IHtcbiAgICAgICAgLmxpZ2h0Ym94X19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKCA4MDBweCwgNDUwcHggKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDMwcHggKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIH1cblxuXHRcdC5saWdodGJveF9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG5cblx0XHQubGlnaHRib3hfX3RpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHR9XG5cbiAgICAgICAgLmJ0bi0tY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggNTAlLCAtNTAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cblx0Ji0tbG9hZF9wb3B1cCB7XG4gICAgICAgIC5saWdodGJveF9fY29udGFpbmVyIHtcblx0XHRcdGluc2V0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSA0MHB4ICk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDUwcHgpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA1NDBweDtcblx0XHRcdH1cblxuXHRcdFx0Ji0tc3F1YXJlIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KSB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA2MDBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjUwcHgpIHtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuXHRcdFx0XHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDQ1MHB4KSB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAyNzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG4gICAgICAgICAgICAmX19zY3JvbGwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdC5saWdodGJveF9faW1hZ2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdCYtLXNxdWFyZSB7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5saWdodGJveF9fY29udGVudCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cdFx0fVxuXG4gICAgICAgIC5idG4tLWNsb3NlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgLTUwJSApO1xuXG5cdFx0XHRib3gtc2hhZG93OiAtM3B4IDNweCAzcHggcmdiYSggJGNvbG9yX190ZXh0LCAwLjEgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5kay1zZWxlY3QsXG4uZGstc2VsZWN0ICosXG4uZGstc2VsZWN0ICo6YmVmb3JlLFxuLmRrLXNlbGVjdCAqOmFmdGVyLFxuLmRrLXNlbGVjdC1tdWx0aSxcbi5kay1zZWxlY3QtbXVsdGkgKixcbi5kay1zZWxlY3QtbXVsdGkgKjpiZWZvcmUsXG4uZGstc2VsZWN0LW11bHRpICo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmcgOiBib3JkZXItYm94O1xufVxuXG4uZGstc2VsZWN0LFxuLmRrLXNlbGVjdC1tdWx0aSB7XG4gICAgLy8gbGluZS1oZWlnaHQgOiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcblxuICAgIHdpZHRoIDogMTAwJTtcblxuICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG59XG5cbi5kay1zZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5kay1zZWxlY3RlZCB7XG4gICAgZm9udC1zaXplIDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuXG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG5cbiAgICB3aWR0aCA6IDEwMCU7XG4gICAgLy8gcGFkZGluZzogMjBweCAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gICAgY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3JfX3doaXRlO1xuXG4gICAgQGV4dGVuZCAuaWNvbjtcbiAgICBAZXh0ZW5kIC5pY29uLWFycm93LWJvdHRvbTtcblxuICAgICY6YmVmb3JlIHsgICAgICAgIFxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0ICk7XG5cbiAgICAgICAgdG9wIDogNTAlO1xuICAgICAgICByaWdodCA6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNHB4O1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIH1cbn1cbi5kay1zZWxlY3RlZDpiZWZvcmUsXG4uZGstc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgcmlnaHQgOiAwO1xuXG4gICAgZGlzcGxheSA6IGJsb2NrO1xufVxuLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQgKTtcblxuICAgIHRvcCA6IDUwJTtcbiAgICByaWdodCA6IDIwcHg7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZDpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSggMTgwZGVnICkgKTtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cblxuLmRrLXNlbGVjdGVkLWRpc2FibGVkIHtcbiAgICBjb2xvciA6ICNiYmJiYmI7XG59XG5cbi5kay1zZWxlY3QgLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgIHJpZ2h0IDogMDtcbiAgICBsZWZ0IDogMDtcblxuICAgIGRpc3BsYXkgOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0LW9wdGlvbnMge1xuICAgIGJvdHRvbSA6IDEwMCU7XG5cbiAgICBtYXJnaW4tYm90dG9tIDogLTFweDtcbn1cblxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdC1vcHRpb25zIHtcbiAgICB0b3AgOiBjYWxjKCAxMDAlICsgMnB4ICk7IC8vIEJvcmRlci1ib3R0b21cbiAgICBtYXJnaW4tdG9wIDogMDtcbn1cblxuLmRrLXNlbGVjdC1tdWx0aSAuZGstc2VsZWN0LW9wdGlvbnMge1xuICAgIG1heC1oZWlnaHQgOiAxMGVtO1xufVxuXG4uZGstc2VsZWN0LW9wdGlvbnMge1xuICAgIGZvbnQtc2l6ZSA6IDE0cHg7XG5cbiAgICB6LWluZGV4IDogMTAwO1xuXG4gICAgb3ZlcmZsb3cteCA6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15IDogYXV0bztcblxuICAgIHdpZHRoIDogYXV0bztcbiAgICBtaW4td2lkdGggOiAxMDAlO1xuICAgIG1heC1oZWlnaHQgOiAzMDBweDtcbiAgICBtYXJnaW4gOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTJweDtcblxuICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgLy8gYm9yZGVyIDogM3B4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgYm9yZGVyLXRvcCA6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX193aGl0ZTtcblxuICAgIC5kay1zZWxlY3Qtb3Blbi11cCAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMTBweCAxMHB4IHJnYmEoICRjb2xvcl9fYmxhY2ssIDAuMyApO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICB9XG4gICAgLmRrLXNlbGVjdC1vcGVuLWRvd24gJiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4IHJnYmEoICRjb2xvcl9fYmxhY2ssIDAuMyApO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICB9XG59XG5cbi5kay1vcHRpb24tc2VsZWN0ZWQge1xuICAgIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3Qtb3B0aW9ucy1oaWdobGlnaHQgLmRrLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgY29sb3IgOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbn1cblxuLmRrLW9wdGlvbiB7XG4gICAgcGFkZGluZyA6IDAgMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmRrLXNlbGVjdC1vcHRpb25zIC5kay1vcHRpb24taGlnaGxpZ2h0IHtcbiAgICBjb2xvciA6ICRjb2xvcl9fd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7IC8vICRjb2xvcl9fcHJpbWFyeVxufVxuXG4uZGstc2VsZWN0LW9wdGlvbnMgLmRrLW9wdGlvbi1kaXNhYmxlZCB7XG4gICAgY29sb3IgOiAjYmJiYmJiO1xuICAgIGJhY2tncm91bmQtY29sb3IgOiB0cmFuc3BhcmVudDtcbn1cblxuLmRrLW9wdGdyb3VwIHtcbiAgICBtYXJnaW4tdG9wIDogLjI1ZW07XG4gICAgcGFkZGluZyA6IC4yNWVtIDA7XG5cbiAgICBib3JkZXIgOiBzb2xpZCAjY2NjY2NjO1xuICAgIGJvcmRlci13aWR0aCA6IDFweCAwO1xufVxuLmRrLW9wdGdyb3VwICsgLmRrLW9wdGlvbiB7XG4gICAgbWFyZ2luLXRvcCA6IC4yNWVtO1xufVxuLmRrLW9wdGdyb3VwICsgLmRrLW9wdGdyb3VwIHtcbiAgICBtYXJnaW4tdG9wIDogMDtcblxuICAgIGJvcmRlci10b3Atd2lkdGggOiAwO1xufVxuLmRrLW9wdGdyb3VwOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLXRvcCA6IDA7XG4gICAgcGFkZGluZy10b3AgOiAwO1xuXG4gICAgYm9yZGVyLXRvcCA6IG5vbmU7XG59XG4uZGstb3B0Z3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgcGFkZGluZy1ib3R0b20gOiAwO1xuXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aCA6IDA7XG59XG5cbi5kay1vcHRncm91cC1sYWJlbCB7XG4gICAgZm9udC1zaXplIDogMTZweDtcbiAgICBmb250LXdlaWdodCA6IGJvbGQ7XG5cbiAgICBkaXNwbGF5IDogYmxvY2s7XG5cbiAgICB3aWR0aCA6IDEwMCU7XG4gICAgcGFkZGluZyA6IDAgMjBweCAxMHB4O1xufVxuXG4uZGstb3B0Z3JvdXAtb3B0aW9ucyB7XG4gICAgcGFkZGluZy1sZWZ0IDogMDtcblxuICAgIGxpc3Qtc3R5bGUgOiBub25lO1xufVxuLmRrLW9wdGdyb3VwLW9wdGlvbnMgbGkge1xuICAgIHBhZGRpbmctbGVmdCA6IDEuMmVtO1xufVxuXG4uZGstc2VsZWN0LW9wZW4tdXAgLmRrLXNlbGVjdGVkIHtcbiAgICBib3JkZXItY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0OyAvLyAkY29sb3JfX3ByaW1hcnlcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzIDogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyA6IDA7XG59XG5cbi5kay1zZWxlY3Qtb3Blbi1kb3duIC5kay1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgIC8vIGNvbG9yIDogJGNvbG9yX193aGl0ZTtcbiAgICAvLyBiYWNrZ3JvdW5kIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQ6YmVmb3JlLFxuLmRrLXNlbGVjdC1vcGVuLWRvd24gLmRrLXNlbGVjdGVkOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoIDogMCAuMjVlbSAuMjVlbTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0ZWQ6YWZ0ZXIsXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3Qtb3Blbi11cCAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW9wZW4tZG93biAuZGstc2VsZWN0LW9wdGlvbnMsXG4uZGstc2VsZWN0LW11bHRpOmZvY3VzIC5kay1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgZGlzcGxheSA6IGJsb2NrO1xuXG4gICAgYm9yZGVyLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3QtbXVsdGk6aG92ZXIsXG4uZGstc2VsZWN0LW11bHRpOmZvY3VzIHtcbiAgICBvdXRsaW5lIDogbm9uZTtcbn1cblxuLmRrLXNlbGVjdGVkOmhvdmVyLFxuLmRrLXNlbGVjdGVkOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3IgOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0OyAvLyAkY29sb3JfX3ByaW1hcnlcbiAgICBvdXRsaW5lIDogbm9uZTtcbn1cbi5kay1zZWxlY3RlZDpob3ZlcjpiZWZvcmUsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG4uZGstc2VsZWN0ZWQ6aG92ZXI6YWZ0ZXIsXG4uZGstc2VsZWN0ZWQ6Zm9jdXM6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDsgLy8gJGNvbG9yX19wcmltYXJ5XG59XG5cbi5kay1zZWxlY3QtZGlzYWJsZWQge1xuICAgIGN1cnNvciA6IG5vdC1hbGxvd2VkO1xuXG4gICAgb3BhY2l0eSA6IC42O1xuICAgIGNvbG9yIDogI2JiYmJiYjtcbn1cbi5kay1zZWxlY3QtZGlzYWJsZWQgLmRrLXNlbGVjdGVkOmhvdmVyLFxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvciA6IGluaGVyaXQ7XG59XG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpob3ZlcjpiZWZvcmUsXG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpmb2N1czpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3IgOiBpbmhlcml0O1xufVxuLmRrLXNlbGVjdC1kaXNhYmxlZCAuZGstc2VsZWN0ZWQ6aG92ZXI6YWZ0ZXIsXG4uZGstc2VsZWN0LWRpc2FibGVkIC5kay1zZWxlY3RlZDpmb2N1czphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3IgOiBpbmhlcml0O1xufVxuXG5zZWxlY3RbZGF0YS1ka2NhY2hlaWRdIHtcbiAgICBkaXNwbGF5IDogbm9uZTtcbn1cbiIsIi8qKlxuICogSFRNTFxuICovXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyoqXG4gKiBCb2R5XG4gKi9cblxuYm9keSB7XG4gIEBpbmNsdWRlIHNtb290aCgpO1xuICBAaW5jbHVkZSB0ZXh0KFxuICAgICRzaXplOiAkYmFzZV9fZm9udC1zaXplLFxuICAgICRsaW5lOiAkYmFzZV9fbGluZSxcbiAgICAkY29sb3I6ICRjb2xvcl9fYmxhY2ssXG4gICAgJGZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zXG4gICk7XG5cbiAgbWFyZ2luOiAwO1xuXG4gIC5jZW50ZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkdmlld3BvcnQpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICBAZXh0ZW5kIC5jZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyAvLyBWaXN1YWwgOTAwcHhcbiAgICB9XG5cbiAgICAmLS1tYXhpIHtcbiAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogIENvbnRhaW5lciAmIENvbnRlbnRcbiAqL1xuI2NvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNvbnRlbnQge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xufVxuXG4vKipcbiAqIExpbmtcbiAqL1xuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLm1haW5fbGluayB7XG4gIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgU3RkXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgMC4xNXMgZWFzZS1vdXQpO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICBhOmhvdmVyICYsXG4gIGE6Zm9jdXMgJiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMTVzIGVhc2Utb3V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEltYWdlc1xuICovXG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oeXBoZW5hdGUtbW9iaWxlIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgIC1vLWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbiAgfVxufVxuXG4vKipcbiAqIFRpdGxlXG4gKi9cblxuaDEge1xuICBAaW5jbHVkZSB0ZXh0KCRzaXplOiA1NiwgJGxpbmU6IDcwLCAkY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tZGFyayk7XG5cbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmgyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyAuaGdyb3VwIC8vIC0+IHVpLnNjc3NcblxubGkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLyoqXG4gKiBJY29uXG4gKi9cbi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmljb246YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyoqXG4gKiBMaXN0c1xuICovXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogVmlkZW9cbiAqL1xuXG52aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBIaWRlIHBsYXkgYnV0dG9uXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OTk5cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBzZWxlY3Rpb25zIGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG59XG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEhncm91cFxuICovXG4uaGdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3RpdGxlLFxuICAmX190aXRsZSBwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMzc1ZW07IC8vMjJweFxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgc3Ryb25nLFxuICAgIGIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNTkwOWVtOyAvLyAzNXB4XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYtLXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4oNiBsYXN0KTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3BhbihmdWxsKTtcblxuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgJi0taGFzLWNvbnRlbnQge1xuICAgIC5oZ3JvdXBfX3dyYXBwZXIge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oZnVsbCk7XG5cbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2xpZGVyIGFycm93c1xuICovXG4uc2xpZGVyX19hcnJvd3Mge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4vKipcbiAqIExvY2F0aW9uc1xuICovXG4uc2xpZGVyLWxvY2F0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fbWFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiBjYWxjKDUwJSArICgoI3skdmlld3BvcnR9ICogMTApIC8gMTAwKSArIDgwcHgpO1xuXG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gKCgjeyR2aWV3cG9ydH0gKiA1KSAvIDEwMCkgKyA4MHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlci1sb2NhdGlvbl9fY29udGVudCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmX19uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0aW5nIGFjdGl2aXRpZXNcbiAqL1xuLmxpc3RpbmctYWN0aXZpdGllcyxcbi5saXN0aW5nLXNlY3RvcnMsXG4ubGlzdGluZy1yZWFsaXNhdGlvbnMge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDEsIDEpO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKDEyKTtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBnYWxsZXJ5KDYpO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgZ2FsbGVyeSg0KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExvYWRlclxuICovXG4vLyBMb2FkZXJcbi5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHJlY3Qge1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBMb2FkaW5nXG4ubG9hZGluZyB7XG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX193aGl0ZSwgMC40KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGFic1xuLnRhYnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgOTBkZWcsXG4gICAgICByZ2JhKCRjb2xvcl9fbmV1dHJhbC0tbGlnaHQsIDApLFxuICAgICAgcmdiYSgkY29sb3JfX25ldXRyYWwtLWxpZ2h0LCAwLjgpXG4gICAgKTtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19saXN0X19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSAudGFic19fbGluayB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIH1cbiAgfVxuICAmX19saW5rIHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzICRtYWluRWFzZSwgYm9yZGVyIDAuMnMgJG1haW5FYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX25ldXRyYWw7XG4gICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fycm93cyB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAmX19hcnJvdyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcblxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAkbWFpbkVhc2UsIGNvbG9yIDAuMnMgJG1haW5FYXNlO1xuXG4gICAgQGV4dGVuZCAuaWNvbiwgLmljb24tYXJyb3ctcmlnaHQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXdpdGhhcnJvd3Mge1xuICAgIC50YWJzX19saXN0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICB9XG4gICAgLnRhYnNfX2xpc3RfX2lubmVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAvLyBIaWRlIHNjcm9sbGJhciArIEFkZCBvdmVyZmxvdyBzY3JvbGxcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcblxuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvLyBIaWRlIFNjcm9sbGJhciBvbiBJRVxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBIaWRlIFNjcm9sbGJhciBvbiBDaHJvbWUgJiBTYWZhcmlcbiAgICAgIH1cbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLy8gSGlkZSBTY3JvbGxiYXIgb24gRmlyZWZveCA2NFxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS1cblxuICAmX19wYXJ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1lc3NhZ2UgKGVycm9yIC0gc3VjY2VzcylcbiAqL1xuLm1lc3NhZ2UtLWVycm9yIHtcbiAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEJsb2Nrc1xuICogLT4gZ3V0dGVyID0gMTAwcHhcbiAqL1xuLm5vb19ibG9jayB7XG4gICYtLTUwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLm5vb19ibG9ja19fcGFydCB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAyKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDUwcHgpIC8gMik7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXJldmVyc2Uge1xuICAgICAgJi5mbGV4IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ub29fYmxvY2tfX3BhcnQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwMHB4KSAvIDIpO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDUwcHgpIC8gMik7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLFxuICAgICYtLXJldmVyc2Uge1xuICAgICAgJi5mbGV4IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ub29fYmxvY2tfX3BhcnQge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5ub29fYmxvY2tfX3BhcnRfX2ltZ3Mge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubm9vX2Jsb2NrX19wYXJ0LS1pbWcsXG4gICAgICAubm9vX2Jsb2NrX19wYXJ0LS1pbWctLXNtYWxsIHtcbiAgICAgICAgLy90aHVtYl82NTB4NDYwXG4gICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbyg2NTBweCwgNDYwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5ub29fYmxvY2tfX3BhcnQtLWltZy0tc21hbGwge1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtNzBweDsgLy9PTEQgLT4gIHRvcDogY2FsYyggMTAwJSAtIDcwcHggKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTcwcHg7IC8vIG5ld1xuICAgICAgICBsZWZ0OiAxMDBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrX19rZXlmaWd1cmVzIHtcbiAgJl9fbGlzdGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICYtY2xlYXJuZXNzOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC53eXNpd3lnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmVcbiAgJl9fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMiddIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NTBweCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0ge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdGluZ1tkYXRhLXJvd251bWJlcj0nMyddIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuYmxvY2tfX2tleWZpZ3VyZXNfX2l0ZW0ge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAzKTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDUwcHgpIC8gMik7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrX19tYXAge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICZfX21hcCB7XG4gICAgaGVpZ2h0OiAzNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDc1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmX19pbnRybyB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX2luZm9zIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkbWFpbkVhc2U7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEsXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHRfX2dyb3VwIHtcbiAgICAvLyBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRtYWluRWFzZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5ibG9ja19fdGV4dHNsaWRlciB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAud3lzaXd5Zzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICYgPiAqIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSB7XG4gICAgICAmID4gKiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNTBweCkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlciB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICB9XG5cbiAgICAuc2xpZGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbyg0MHB4LCAyMHB4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzICRtYWluRWFzZTtcbiAgICAgIH1cblxuICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDQwcHgsIDI1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnJvd3Mge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmFycm93IHtcbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi0tbGVmdCB7XG4gICAgICAgIEBleHRlbmQgLnNxdWFyZV9fYnV0dG9uLS1wcmV2O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgQGV4dGVuZCAuc3F1YXJlX19idXR0b24tLW5leHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9ja19pbWFnZXRleHQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmLnJldmVyc2Uge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAmLm5vX2ltYWdlIC5ibG9ja19pbWFnZXRleHRfX3RleHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTAwcHgpIC8gMik7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNzAwcHgsIDUwMHB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICB9XG5cbiAgICAuYmxvY2tfaW1hZ2V0ZXh0LnJldmVyc2UgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgLmJsb2NrX2ltYWdldGV4dC5yZXZlcnNlICYge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MXB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmtzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTbGlkZXJzXG4gKi9cbi5zbGlkZXJfbXVsdGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgd2lkdGg6IGNhbGMoKCN7JHZpZXdwb3J0fSkgKyAoMTAwJSAtICN7JHZpZXdwb3J0fSkgLyAyKTtcblxuICBtYXJnaW4tYm90dG9tOiA1OHB4OyAvLyA0MiArIDE2ID0+IGFycm93cyBpbiB0aGUgYm90dG9tXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgfVxuXG4gICZfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtOyAvLyBSZXNldCBzcGFjZSBvZiBwYWRkaW5ncyBmb3Igc3BhY2luZ3NcbiAgICBtYXJnaW4tYm90dG9tOiAtMWVtOyAvLyBSZXNldCBzcGFjZSBvZiBwYWRkaW5ncyBmb3Igc3BhY2luZ3NcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47IC8vIEZpeCBncmVlbnNvY2tcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IGNhbGMoKDE0NDBweCAtIDYwcHgpIC8gMyk7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgaGVpZ2h0OiA0MzBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cblxuICAgIG1hcmdpbi1yaWdodDogcmVtKDMwKTtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gdG9wOiAwO1xuICAgIC8vIEBpbmNsdWRlIHRyYW5zaXRpb24oIHRvcCAwLjJzIGVhc2Utb3V0ICk7XG5cbiAgICAmLS1iZyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rOmhvdmVyIHtcbiAgICAgIC8vIHRvcDogLThweDtcblxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDhweCAxMnB4ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQpO1xuXG4gICAgICAuc2xpZGVyX211bHRpX19zbGlkZV9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19wcmltYXJ5LCAwLjcpO1xuICAgICAgICAuc2xpZGVyX211bHRpX19zbGlkZV9fc2hvcnRfZGVzYyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXJfbXVsdGlfX2NvbnRlbnRfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDEsIDEpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0KTtcblxuICAgICAgdG9wOiAwO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zdWJ0aXRsZTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgIGhlaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLW91dFxuICAgICAgICApO1xuXG4gICAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3Nob3J0X2Rlc2Mge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWFpbl9saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDc1cHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlcl93aWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHdpZHRoOiBjYWxjKCgjeyR2aWV3cG9ydF9zbWFsbH0pICsgKDEwMCUgLSAjeyR2aWV3cG9ydF9zbWFsbH0pIC8gMik7XG5cbiAgbWFyZ2luLWJvdHRvbTogNThweDsgLy8gNDIgKyAxNiA9PiBhcnJvd3MgaW4gdGhlIGJvdHRvbVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwODRweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIH1cblxuICAmX19zbGlkZXMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtOyAvLyBSZXNldCBzcGFjZSBvZiBwYWRkaW5ncyBmb3Igc3BhY2luZ3NcbiAgICBtYXJnaW4tYm90dG9tOiAtMWVtOyAvLyBSZXNldCBzcGFjZSBvZiBwYWRkaW5ncyBmb3Igc3BhY2luZ3NcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjsgLy8gRml4IGdyZWVuc29ja1xuXG4gICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDEwMjQsIDQzMCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkdmlld3BvcnRfc21hbGw7XG4gICAgLy8gaGVpZ2h0OiA0MzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzMCk7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHRvcDogMDtcbiAgICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKCB0b3AgMC4ycyBlYXNlLW91dCApO1xuXG4gICAgJi0tYmcge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLnNsaWRlcl9tdWx0aV9fY29udGVudF9fbGluazpob3ZlciB7XG4gICAgICAvLyB0b3A6IC04cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA4cHggMTJweCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0KTtcblxuICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9fcHJpbWFyeSwgMC43KTtcbiAgICAgICAgLnNsaWRlcl9tdWx0aV9fc2xpZGVfX3Nob3J0X2Rlc2Mge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVyX211bHRpX19jb250ZW50X19saW5rIHtcbiAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbygxLCAxKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBlYXNlLW91dCk7XG5cbiAgICAgIHRvcDogMDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zdWJ0aXRsZTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgIGhlaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLW91dFxuICAgICAgICApO1xuXG4gICAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5zbGlkZXJfbXVsdGlfX3NsaWRlX19zaG9ydF9kZXNjIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tYWluX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwODRweCkge1xuICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEb3VibGUgbGlua3NcbiAqL1xuLy8gUHJlIGZvb3RlciBkb3VibGUgbGluayAmIEpvaW4gdXMgZG91YmxlIGxpbmtcbi53aWRlbGlua3Mge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC53aWRlbGlua3NfX2JnIHtcbiAgICAgICAgQGluY2x1ZGUgc2NhbGUoMS4xKTtcbiAgICAgIH1cbiAgICAgIC53aWRlbGlua3NfX2JnX19vdmVybGF5IHtcbiAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbl9saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgfVxuXG4gICZfX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgIC8vIG5vdCB1c2VkIGFueW1vcmVcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZm9vdGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTU7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4ycyBlYXNlLW91dCk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLW51bWJlcj0nMiddIC53aWRlbGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX193aGl0ZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExpbmsgT3ZlcmxheVxuICovXG4ubGlua19fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkbWFpbkVhc2U7XG59XG5cbi8qKlxuICogUGFnaW5hdGlvblxuICovXG4ucGFnaW5hdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICBtYXJnaW46IDBweCBhdXRvIDYwcHg7XG4gIG9wYWNpdHk6IDE7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4IGF1dG8gMDtcbiAgfVxuXG4gIC5wcmV2LFxuICAubmV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgJG1haW5FYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlICkgc2NhbGUoIDEuMiApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJldiB7XG4gICAgQGV4dGVuZCAuaWNvbiwgLmljb24tYXJyb3ctbGVmdDtcbiAgfVxuICAubmV4dCB7XG4gICAgQGV4dGVuZCAuaWNvbiwgLmljb24tYXJyb3ctcmlnaHQ7XG4gIH1cblxuICAucGFnZS1udW1iZXJzIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAucGFnZS1udW1iZXJzOm5vdCgucHJldik6bm90KC5uZXh0KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkbWFpbkVhc2UsIG9wYWNpdHkgMC4ycyAkbWFpbkVhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgb3BhY2l0eTogMC44O1xuXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICYuY3VycmVudCB7XG4gICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAmLmN1cnJlbnQge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1hcHMgaW5mb3dpbmRvd1xuICovXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWMge1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMjcwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgJiA+IGJ1dHRvbiB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1kIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5tYXBfX2luZm93aW5kb3cge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IC8vIE1lZFxuICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJl9fZG90cyB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJl9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzICRtYWluRWFzZTtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hcF9faW5mb3dpbmRvd19fYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAmLS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IC8vIEJvbGRcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICAmX19hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgJl9faW5mb19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAubGluay0tYmFzaWM7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogcmVhbGlzYXRpb25zXG4gKi9cblxuLmNlbnRlci5yZWFsaXNhdGlvbl9fdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNWVtOyAvLyA1MHB4XG59XG5cbi5zbGlkZXItcmVhbGlzYXRpb25zIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWFyZ2luLWJvdHRvbTogI3skdl9zcGFjaW5nfXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5jZW50ZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zbGlkZXItcmVhbGlzYXRpb25zX19hcnJvd3Mge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgfVxuXG4gICAgICAmLS1wcmV2LFxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UoKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tcHJldiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTUlO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTUlO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgd2lkdGg6IDM0JTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zbGlkZXI7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTAwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB3aWR0aDogY2FsYygoKDEwMCUgLSA2MHB4KSAvIDEwMCkgKiAzNCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDZlbTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBtYXgtd2lkdGg6IDgwMHB4O1xuXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAvLyBhcnJvdyB0b3BcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NsaWRlcjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDUuNWVtO1xuICAgIH1cblxuICAgIC5wcm9kdXRpb25fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42ODc1ZW07IC8vIDI3cHhcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVhbGlzYXRpb25fX3RleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG5cbiAgICAucmVhbGlzYXRpb25fX2xpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgLy8gR1NBUFxuICAgICAgb3BhY2l0eTogMDsgLy8gR1NBUFxuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICN7KCRwYWRkaW5nLzIpfXB4O1xuICAgICAgbGVmdDogI3soJHBhZGRpbmcvMil9cHg7XG4gICAgICByaWdodDogI3soJHBhZGRpbmcvMil9cHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbygxNiwgOSk7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgICYuY3VycmVudCArIGRpdiB7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJi5jdXJyZW50IHtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NsaWRlcjtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENpdGF0aW9uXG4gKi9cbi5jaXRhdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgLy8gTWVkXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBleHRlbmQgLmljb24sIC5pY29uLWNpdGF0aW9uO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTUwcHg7XG4gICAgICBsZWZ0OiAtMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gICZfX25hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gICZfX3JvbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZSBsaW5rXG4gKi9cbi5zaGFyZV9fbGluayB7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyAkbWFpbkVhc2U7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gICYuaWNvbi1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19mYWNlYm9vaztcbiAgfVxuICAmLmljb24tdHdpdHRlciB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fdHdpdHRlcjtcbiAgfVxuICAmLmljb24tbGlua2VkaW4ge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2xpbmtlZGluO1xuICB9XG59XG5cbi8qKlxuICogTGlzdGluZ3NcbiAqL1xuLmxpc3RpbmctYWN0aXZpdGllc19faXRlbSxcbi5saXN0aW5nLXNlY3RvcnNfX2l0ZW0ge1xuICAmOmhvdmVyIHtcbiAgICAvLyB0b3A6IC04cHg7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgOHB4IDEycHggJGNvbG9yX19uZXV0cmFsLS1saWdodCk7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19wcmltYXJ5LCAwLjcpO1xuICAgIH1cblxuICAgICZfX3Nob3J0X2Rlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0KTtcblxuICAgIHRvcDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG5cbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0LFxuICAgICAgaGVpZ2h0IDAuMnMgZWFzZS1vdXQsXG4gICAgICBvcGFjaXR5IDAuMnMgZWFzZS1vdXRcbiAgICApO1xuICB9XG5cbiAgJl9fc2hvcnRfZGVzYyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICAgIC5tYWluX2xpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3RpbmctbmV3c19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgJl9fZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tZGFyaztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAmX19jYXRlZ29yaWVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAmX19jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAzNCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvcl9fZ3JheS0tbGlnaHQsIDEwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNTAwcHgsIDI1MHB4KTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDY1cHggNzBweDtcbiAgICBtaW4taGVpZ2h0OiAzODBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgLy8gTWVkaXVtXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5saXN0aW5nLXBhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAmID4gKiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAxcHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgJl9faXRlbV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgIGNvbG9yOiAkY29sb3JfX3N1YnRpdGxlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJG1haW5FYXNlLCBjb2xvciAwLjJzICRtYWluRWFzZTtcblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3JfX3ByaW1hcnksIDEwJSk7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTZWFyY2hcbiAqL1xuLnNlYXJjaF9fcGFydCB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi8qKlxuICogRml4ZWQgc29jaWFsIGxpbmtzXG4gKi9cbi5maXhlZF9zb2NpYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAxNTBweDtcbiAgcmlnaHQ6IDA7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgJG1haW5FYXNlO1xuICAgIH1cblxuICAgICYuaWNvbi1mYWNlYm9vazphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2ZhY2Vib29rO1xuICAgIH1cbiAgICAmLmljb24tdHdpdHRlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3R3aXR0ZXI7XG4gICAgfVxuICAgICYuaWNvbi1saW5rZWRpbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2xpbmtlZGluO1xuICAgIH1cbiAgICAmLmljb24taW5zdGFncmFtOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9faW5zdGFncmFtO1xuICAgIH1cbiAgICAmLmljb24teW91dHViZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3lvdXR1YmU7XG4gICAgfVxuICAgICYuaWNvbi1nb29nbGVwbHVzOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ29vZ2xlcGx1cztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hY3Rpdml0aWVzIHtcbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbi1ibG9jazogMzBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgJG1haW5FYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYTAwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAubWFpbnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFNwYW4gU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG4vLyBTcGFuIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0OiAkc3BhbjtcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkb3V0cHV0OiBzcGFuLW1hdGgoJHNwYW4pO1xuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XG5cbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcbiAgJGJveDogJGJveCBvciBpZihpcy1pbnNpZGUoJHNwYW4pIGFuZCAkY29udGVudC1ib3gsIGJvcmRlci1ib3gsIG51bGwpO1xuXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xuICAgIEBpbmNsdWRlIGJyZWFrO1xuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7XG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIEBpZiB2YWxpZC1jb2x1bW5zKCRuZXN0aW5nLCBzaWxlbnQpIHtcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU3BhbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuLlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xufVxuXG4vLyBTcGFuIE1hdGhcbi8vIC0tLS0tLS0tLVxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBzcGFuLW1hdGgoXG4gICRzcGFuXG4pIHtcbiAgJG5lc3QgICAgICAgICAgICAgOiBpZihzdXN5LWdldChyb2xlLCAkc3BhbikgPT0gbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRsb2NhdGlvbiAgICAgICAgIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcblxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbDtcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbDtcblxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXG4gICRzcHJlYWQ6IGluZGV4KG1hcC12YWx1ZXMoJHNwYW4pLCBzcHJlYWQpO1xuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG4gICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgLy8gYXBwbHkgZ3V0dGVyc1xuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90KCRzcGxpdC1uZXN0KSB7XG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBzcGVjaWFsIG1hcmdpbiBoYW5kbGluZ1xuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XG4gICAgJG1hcmdpbi1hZnRlcjogLTEwMCU7XG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGZsb2F0OiBzdXN5LWdldChsYXN0LWZsb3csICRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgbm90KCRpcy1zcGxpdCkge1xuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcbiAgICAgIH1cbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuIChcbiAgICB3aWR0aCAgICAgICAgICAgOiAkd2lkdGgsXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi1hZnRlciAgICA6ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxuICAgIGZsb3cgICAgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcbn1cblxuLy8gR2V0IFNwYW4gV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gc3BhbiB3aWR0aC5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG5cbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuICAkY29sdW1ucyAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XG5cbiAgJGNvbnRleHQgIDogbnVsbDtcbiAgJHNwYW4tc3VtIDogbnVsbDtcbiAgJHdpZHRoICAgIDogbnVsbDtcblxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIigje3R5cGUtb2YoJG4pfSkgI3skbn0gaXMgbm90IGEgdmFsaWQgc3Bhbi5cIjtcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XG4gICAgJHNwcmVhZDogaWYoaXMtaW5zaWRlKCRzcGFuKSwgJHNwcmVhZCBvciB3aWRlLCAkc3ByZWFkKTtcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcblxuICAgICRfbWF0aDogc3VzeS1nZXQobWF0aCwgJHNwYW4pO1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkd2lkdGg6ICRzcGFuLXN1bSAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aDogJG47XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cbiIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsIi8vIEd1dHRlciBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBHdXR0ZXJzXG4vLyAtLS0tLS0tXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnMgOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9vdXRwdXQ6IChcbiAgICBiZWZvcmU6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpLFxuICAgIGFmdGVyOiBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9XG59XG5cbkBtaXhpbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xufVxuXG5cbi8vIEd1dHRlclxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkc3BhbjogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9ndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVyczogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSkgb3IgbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEByZXR1cm4gZ3V0dGVyKCRzcGFuKTtcbn1cblxuXG4vLyBHZXQgR3V0dGVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gZ3V0dGVyIHdpZHRoLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlcnMgOiBzdXN5LWdldChndXR0ZXJzLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xuXG4gIEBpZiAkX2d1dHRlcnMgYW5kICgkX2d1dHRlcnMgPiAwKSBhbmQgbm90KCRfZ3V0dGVyKSB7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xuICAgICRfbWF0aDogZ3V0dGVyLW1hdGgoJGNvbnRleHQpO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xuICAgICAgJF9ndXR0ZXIgIDogcGVyY2VudGFnZSgkX2d1dHRlcnMgLyBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpKTtcbiAgICB9XG4gIH1cblxuICAkX2d1dHRlcjogaWYoJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcnMnIG9yICRfZ3V0dGVyID09ICduby1ndXR0ZXInLCBudWxsLCAkX2d1dHRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcjtcbn1cblxuXG4vLyBHZXQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBiZWZvcmUgYW5kIGFmdGVyIGd1dHRlciB2YWx1ZXMuXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXItcG9zaXRpb24gICA6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XG5cbiAgJF9yZXR1cm4gICAgICAgICAgICA6IChiZWZvcmU6IG51bGwsIGFmdGVyOiBudWxsKTtcblxuICBAaWYgaXMtc3BsaXQoJGNvbnRleHQpIGFuZCAkX2d1dHRlciB7XG4gICAgJF9ndXR0ZXI6ICRfZ3V0dGVyIC8gMjtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XG4gIH0gQGVsc2Uge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgkX2d1dHRlci1wb3NpdGlvbjogJF9ndXR0ZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gSXMgSW5zaWRlXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBpbnNpZGUuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtaW5zaWRlKFxuICAkY29udGV4dFxuKSB7XG4gICRfaW5zaWRlOiBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9pbnNpZGUsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIElzIFNwbGl0XG4vLyAtLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIHNwbGl0LlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxuICAkY29udGV4dFxuKSB7XG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBHdXR0ZXIgTWF0aFxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBndXR0ZXItbWF0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm4gIDogc3VzeS1nZXQobWF0aCwgJGNvbnRleHQpO1xuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gSXNvbGF0aW9uIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG5cbi8vIElzb2xhdGUgW01peGluXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgaXNvbGF0aW9uIGFzIGFuIG92ZXJyaWRlLlxuLy8gLSAkbG9jYXRpb246IDxzcGFuPlxuQG1peGluIGlzb2xhdGUoXG4gICRpc29sYXRlOiAxXG4pIHtcbiAgJGluc3BlY3Q6ICRpc29sYXRlO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwdXNoOiBpc29sYXRlKCRpc29sYXRlKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkaXNvbGF0ZSksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGlzb2xhdGUsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgaXNvbGF0ZS1vdXRwdXQoJG91dHB1dC4uLik7XG59XG5cblxuLy8gSXNvbGF0ZSBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhbiBpc29sYXRpb24gb2Zmc2V0IHdpZHRoLlxuLy8gLSAkbG9jYXRpb246IDxzcGFuPlxuQGZ1bmN0aW9uIGlzb2xhdGUoXG4gICRpc29sYXRlOiAxXG4pIHtcbiAgJGlzb2xhdGU6IHBhcnNlLXNwYW4oJGlzb2xhdGUpO1xuICAkaXNvbGF0aW9uOiBzdXN5LWdldChzcGFuLCAkaXNvbGF0ZSk7XG5cbiAgQGlmICRpc29sYXRpb24gYW5kIG5vdChnZXQtbG9jYXRpb24oJGlzb2xhdGUpKSB7XG4gICAgJG5ldzogKFxuICAgICAgc3BhbjogbnVsbCxcbiAgICAgIGxvY2F0aW9uOiAkaXNvbGF0aW9uLFxuICAgICk7XG4gICAgJGlzb2xhdGU6IG1hcC1tZXJnZSgkaXNvbGF0ZSwgJG5ldyk7XG4gIH1cblxuICBAcmV0dXJuIGdldC1pc29sYXRpb24oJGlzb2xhdGUpO1xufVxuXG5cbi8vIEdldCBJc29sYXRpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgaXNvbGF0aW9uIG9mZnNldCB3aWR0aFxuLy8gLSAkaW5wdXQ6IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LWlzb2xhdGlvbihcbiAgJGlucHV0XG4pIHtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGlucHV0KTtcbiAgJGNvbHVtbnMgICAgOiBzdXN5LWdldChjb2x1bW5zLCAkaW5wdXQpO1xuICAkd2lkdGggICAgICA6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIgYW5kIG5vdCh1bml0bGVzcygkbG9jYXRpb24pKSB7XG4gICAgJHdpZHRoOiAkbG9jYXRpb247XG4gIH0gQGVsc2UgaWYgJGxvY2F0aW9uIHtcbiAgICAkcHVzaDogJGxvY2F0aW9uIC0gMTtcbiAgICBAaWYgJHB1c2ggPiAwIHtcbiAgICAgICRwdXNoOiBtYXAtbWVyZ2UoJGlucHV0LCAoXG4gICAgICAgIHNwYW46ICRwdXNoLFxuICAgICAgICBsb2NhdGlvbjogMSxcbiAgICAgICAgc3ByZWFkOiB3aWRlLFxuICAgICAgKSk7XG4gICAgICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRwdXNoKTtcbiAgICB9XG4gIH1cblxuICBAaWYgc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkaW5wdXQpID09IHNwbGl0XG4gICAgICBhbmQgc3VzeS1nZXQoZ3V0dGVycywgJGlucHV0KSA+IDAge1xuICAgICR3aWR0aDogaWYoJHdpZHRoID09IG51bGwsIGd1dHRlcnMoJGlucHV0KSwgJHdpZHRoICsgZ3V0dGVycygkaW5wdXQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoIG9yIDA7XG59XG4iLCIvLyBHYWxsZXJ5IFN5bnRheFxuLy8gPT09PT09PT09PT09PT1cblxuLy8gR2FsbGVyeVxuLy8gLS0tLS0tLVxuLy8gQ3JlYXRlIGFuIGlzb2xhdGVkIGdhbGxlcnlcbi8vIC0gJHNwYW4gICAgICAgIDogPHNwYW4+XG4vLyAtIFskc2VsZWN0b3JdICA6IGNoaWxkIHwgb2YtdHlwZVxuQG1peGluIGdhbGxlcnkoXG4gICRzcGFuLFxuICAkc2VsZWN0b3I6IGNoaWxkXG4pIHtcbiAgJGluc3BlY3QgICAgOiAkc3BhbjtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJHNwYW4gICAgICAgOiBtYXAtbWVyZ2UoJHNwYW4sIChsb2NhdGlvbjogMSkpO1xuXG4gICRuICAgICAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjb2x1bW5zICAgICAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRjb250ZXh0ICAgICAgOiBzdXN5LWNvdW50KCRjb2x1bW5zKTtcbiAgJGZsb3cgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKTtcblxuICAkaW5zaWRlICAgICAgIDogaXMtaW5zaWRlKCRzcGFuKTtcbiAgJGZyb20gICAgICAgICA6IGZyb20oJGZsb3cpO1xuICAkbGluZSAgICAgICAgIDogZmxvb3IoJGNvbnRleHQgLyAkbik7XG4gICRzeW1tZXRyaWNhbCAgOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgJG91dHB1dDogKFxuICAgIHdpZHRoICAgICAgICAgICAgIDogbnVsbCxcbiAgICBmbG9hdCAgICAgICAgICAgICA6IGZyb20sXG4gICAgbWFyZ2luLWJlZm9yZSAgICAgOiBudWxsLFxuICAgIG1hcmdpbi1hZnRlciAgICAgIDogbnVsbCxcbiAgICBwYWRkaW5nLWJlZm9yZSAgICA6IG51bGwsXG4gICAgcGFkZGluZy1hZnRlciAgICAgOiBudWxsLFxuICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICk7XG5cbiAgQGlmICRpbnNpZGUge1xuICAgICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKCRvdXRwdXQsIChcbiAgICAgIHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpLFxuICAgICAgcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpLFxuICAgICkpO1xuICB9XG5cbiAgQGlmICRzeW1tZXRyaWNhbCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKCRvdXRwdXQsICh3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pKSk7XG4gIH1cblxuICAkYm94ICAgICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkZ2xvYmFsLWJveCAgIDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpID09ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChnYWxsZXJ5LCAkaW5zcGVjdCk7XG5cbiAgLy8gQ29sbGVjdGl2ZSBPdXRwdXRcbiAgQGlmICRib3ggPT0gYm9yZGVyLWJveCBvciAoJGluc2lkZSBhbmQgbm90KCRib3gpIGFuZCBub3QoJGdsb2JhbC1ib3gpKSB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiBib3JkZXItYm94KSk7XG4gIH0gQGVsc2UgaWYgJGJveCA9PSBjb250ZW50LWJveCB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiBjb250ZW50LWJveCkpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgLy8gSW5kaXZpZHVhbCBMb29wXG4gIEBmb3IgJGl0ZW0gZnJvbSAxIHRocm91Z2ggJGxpbmUge1xuICAgICRudGg6ICcjeyRsaW5lfW4gKyAjeyRpdGVtfSc7XG4gICAgJjpudGgtI3skc2VsZWN0b3J9KCN7JG50aH0pIHtcbiAgICAgIC8vIEluZGl2aWR1YWwgUHJlcFxuICAgICAgJG91dHB1dDogKFxuICAgICAgICB3aWR0aCAgICAgICAgICAgICA6IGlmKCRzeW1tZXRyaWNhbCwgbnVsbCwgZ2V0LXNwYW4td2lkdGgoJHNwYW4pKSxcbiAgICAgICAgZmxvYXQgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICBtYXJnaW4tYmVmb3JlICAgICA6IGdldC1pc29sYXRpb24oJHNwYW4pLFxuICAgICAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IC0xMDAlLFxuICAgICAgICBwYWRkaW5nLWJlZm9yZSAgICA6IG51bGwsXG4gICAgICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICAgICAgZmxvdyAgICAgICAgICAgICAgOiAkZmxvdyxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgT3V0cHV0XG4gICAgICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICAgICAgQGlmIGdldC1lZGdlKCRzcGFuKSA9PSBmaXJzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrO1xuICAgICAgICBAaW5jbHVkZSBmaXJzdCgkc3Bhbik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9icmVhaztcbiAgICAgIH1cblxuICAgICAgLy8gSW5kaXZpZHVhbCBMb2NhdGlvbiBJbmNyZW1lbnRcbiAgICAgICRsb2NhdGlvbjogZ2V0LWxvY2F0aW9uKCRzcGFuKSArICRuO1xuICAgICAgJGxvY2F0aW9uOiBpZigkbG9jYXRpb24gPiAkY29udGV4dCwgMSwgJGxvY2F0aW9uKTtcbiAgICAgICRzcGFuOiBtYXAtbWVyZ2UoJHNwYW4sIChsb2NhdGlvbjogJGxvY2F0aW9uKSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3cgU3RhcnQgJiBFbmRcbi8vID09PT09PT09PT09PT09PVxuXG4vLyBCcmVha1xuLy8gLS0tLS1cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHRoYXQgc2hvdWxkIGZvcmNlIGEgbGluZSBicmVhay5cbkBtaXhpbiBicmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IGJvdGgpKTtcbn1cblxuXG4vLyBOb0JyZWFrXG4vLyAtLS0tLS0tXG4vLyBDYW5jZWwgdGhlIGJyZWFrKCkgZWZmZWN0LCBlLmcuIHdoZW4gdXNpbmcgbWVkaWEgcXVlcmllcy5cbkBtaXhpbiBub2JyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogbm9uZSkpO1xufVxuXG5cbi8vIEZ1bGxcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPGxheW91dCBzaG9ydGhhbmQ+XG5AbWl4aW4gZnVsbChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgOiAkY29udGV4dDtcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZ1bGwsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgc3BhbihmdWxsIG9mIHBhcnNlLWdyaWQoJGNvbnRleHQpIGJyZWFrKTtcbn1cblxuXG4vLyBGaXJzdFxuLy8gLS0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGZpcnN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZmlyc3QsICRpbnNwZWN0KTtcbiAgQGlmIG5vdChpcy1zcGxpdCgkY29udGV4dCkpIHtcbiAgICBAaW5jbHVkZSBmbG9hdC1maXJzdCgkZmxvdyk7XG4gIH1cbn1cblxuQG1peGluIGFscGhhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBmaXJzdCgkY29udGV4dCk7XG59XG5cblxuLy8gTGFzdFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gbGFzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXN0LCAkaW5zcGVjdCk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KSxcbiAgICBsYXN0LWZsb3c6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJGNvbnRleHQpLFxuICAgIG1hcmdpbjogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCBudWxsLCAwKSxcbiAgKTtcblxuICBAaW5jbHVkZSBmbG9hdC1sYXN0KCRvdXRwdXQuLi4pO1xufVxuXG5AbWl4aW4gb21lZ2EoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGxhc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIEdldCBFZGdlXG4vLyAtLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGVkZ2UgdmFsdWUgYmFzZWQgb24gbG9jYXRpb24sIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWVkZ2UoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBzdXN5LWdldChlZGdlLCAkc3Bhbik7XG5cbiAgQGlmIG5vdCgkZWRnZSkge1xuICAgICRjb3VudDogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpO1xuICAgICRsb2NhdGlvbjogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgICAkbjogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gICAgJG51bWJlcjogaWYodHlwZS1vZigkbG9jYXRpb24pID09IG51bWJlciwgdHJ1ZSwgZmFsc2UpO1xuICAgICRpbmRleDogaWYoJG51bWJlciBhbmQgdW5pdGxlc3MoJGxvY2F0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xuXG4gICAgQGlmICRuID09ICRjb3VudCB7XG4gICAgICAkZWRnZTogZnVsbDtcbiAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiBhbmQgJG4gYW5kICRpbmRleCB7XG4gICAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgICAkZWRnZTogaWYoJG4gPT0gJGNvdW50LCBmdWxsLCBmaXJzdCk7XG4gICAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiArICRuIC0gMSA9PSAkY291bnQge1xuICAgICAgICAkZWRnZTogbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVkZ2UgPT0gYWxwaGEgb3IgJGVkZ2UgPT0gb21lZ2Ege1xuICAgICRlZGdlOiBpZigkZWRnZSA9PSBhbHBoYSwgZmlyc3QsIGxhc3QpO1xuICB9XG5cbiAgQHJldHVybiAkZWRnZTtcbn1cblxuXG4vLyBHZXQgTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGxvY2F0aW9uIHZhbHVlIGJhc2VkIG9uIGVkZ2UsIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWxvY2F0aW9uKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRsb2NhdGlvbiAgIDogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRuICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gIEBpZiAkZWRnZSBhbmQgbm90KCRsb2NhdGlvbikgYW5kIHR5cGUtb2YoJG4pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJG4pIHtcbiAgICBAaWYgJGVkZ2UgPT0gZmlyc3Qge1xuICAgICAgJGxvY2F0aW9uOiAxO1xuICAgIH0gQGVsc2UgaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkbG9jYXRpb246IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKSAtICRuICsgMTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsb2NhdGlvblxufVxuIiwiLy8gRmxvYXQgRW5kcyBBUElcbi8vID09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRW5kIERlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgbGFzdC1mbG93OiB0byxcbikpO1xuXG4vLyBGbG9hdCBMYXN0XG4vLyAtLS0tLS0tLS0tXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AbWl4aW4gZmxvYXQtbGFzdChcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAkbGFzdC1mbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBsYXN0LWZsb3cpLFxuICAkbWFyZ2luOiAwXG4pIHtcbiAgJHRvOiB0bygkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb2F0OiBpZigkbGFzdC1mbG93ID09IHRvLCAkdG8sIG51bGwpLFxuICAgIG1hcmdpbi0jeyR0b306ICRtYXJnaW4sXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuXG4vLyBGbG9hdCBGaXJzdFxuLy8gLS0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1maXJzdChcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgJG91dHB1dDogKFxuICAgIG1hcmdpbi0je2Zyb20oJGZsb3cpfTogMCxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIuaGVhZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICB6LWluZGV4OiA4MDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IC01cHggcmdiYSgkY29sb3JfX2JsYWNrLCAwLjA1KTtcbn1cblxuLyoqXG4gKiBMb2dvXG4gKi9cblxuLmxvZ28ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAyNjZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skaW1nfWVpZmZhZ2UtcmV5bmRlcnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAxMDAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBtYXJnaW46IDM1cHggMDsgLy8gKDEyMCAtIDcwKSAvIDIgLy8vIDEyMCA9IGhlYWRlci1oZWlnaHRcbn1cblxuLmhlYWRlciAucmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLyoqXG4gKiBNYWluIG5hdmlnYXRpb25cbiAqL1xuXG4ubWVudV9faXRlbV9fdW5kZXJsaW5lIHtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyAkbWFpbkVhc2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xufVxuXG4uaGVhZGVyIC5tYWluLW5hdiB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNTJweCAyMHB4OyAvLyAoMTIwIC0gMTYpIC8gMiAvLy8gMTIwID0gaGVhZGVyLWhlaWdodFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYTpob3ZlcixcbiAgICAgIGE6Zm9jdXMge1xuICAgICAgICAubWVudV9faXRlbV9fdW5kZXJsaW5lIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgLm1lbnVfX2l0ZW1fX3VuZGVybGluZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogbWVudV9pdGVtX3VuZGVybGluZV9hY3RpdmUgMC42cyAwLjNzICRlYXNlT3V0Q2lyY1xuICAgICAgICAgICAgICAgIGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIC5tZW51X19pdGVtX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgICAgIEBpbmNsdWRlIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZW51X19pdGVtX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuc3ViLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgbGVmdDogLTk5OTk5cHg7XG4gICAgICAgIHRvcDogODAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMTVweCA1cHggcmdiYSgkY29sb3JfX2JsYWNrLCAwLjA1KTtcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC41cyBlYXNlLW91dCwgb3BhY2l0eSAwLjJzIDAuNXMgZWFzZS1vdXQsXG4gICAgICAgICAgbGVmdCAwcyAwLjJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMHMgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgLm1lbnVfX2l0ZW1fX3VuZGVybGluZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3JfX2JsYWNrLCAwLjA1KTtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzICRtYWluRWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9fYmxhY2ssIDAuMDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bCA+IC5tZW51LWl0ZW0ge1xuICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmhvdmVyID4gYSAubWVudV9faXRlbV9fdW5kZXJsaW5lIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAmIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgLm1lbnVfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudV9faXRlbV9fY29udGVudDphZnRlciB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJiA+IGEgLm1lbnVfX2l0ZW1fX2NvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuc3ViLW1lbnUge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcblxuICAgICAgICAgIC5tZW51X19pdGVtX19jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1lbnVfX2l0ZW1fX2NvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIge1xuICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGFtYm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tdG9wOiA0OHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLmxpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAmLS0yIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIH1cbiAgICAmLS0zIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNDBweDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgZWFzZS1vdXQpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgcmlnaHQ6IDFlbTtcbiAgfVxufVxuXG4ubW9iaWxlX21lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJl9faGVhZCB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoJGNvbG9yX19ibGFjaywgMC4wNSk7XG4gICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC5hY3Rpb25fX2dyb3VwIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgLmxhbmd1YWdlX3N3aXRjaGVyLFxuICAgIC5jbG9zZV9fYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyAkbWFpbkVhc2U7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9fYmxhY2ssIDAuMDUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sYW5ndWFnZV9zd2l0Y2hlciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4OyAvLyAzMCArIDE1IChhcnJvdylcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkY29sb3JfX2JsYWNrLCAwLjA1KTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZV9fYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4OyAvLyBvZmZzZXQgdG8gcGFkZGluZ1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMWVtOyAvLyBvZmZzZXQgdG8gcGFkZGluZ1xuICAgICAgfVxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCRjb2xvcl9fYmxhY2ssIDAuMDUpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJGNvbG9yX19ibGFjaywgMC4wNSk7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIEBleHRlbmQgLmNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgY29sb3I6IHJnYmEoJGNvbG9yX19uZXV0cmFsLCAwLjYpO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAkbWFpbkVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19uZXV0cmFsLS1saWdodCwgMC4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmID4gLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICAuc3ViLW1lbnUgPiAubWVudS1pdGVtIGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgI2ZmZjtcbiAgICB9XG4gICAgLnN1Yi1tZW51IC5zdWItbWVudSA+IC5tZW51LWl0ZW0gYSB7XG4gICAgICBib3JkZXItbGVmdDogNDBweCBzb2xpZCAjZmZmO1xuICAgIH1cblxuICAgIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgJiA+IGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICBjb2xvcjogcmdiYSgkY29sb3JfX25ldXRyYWwsIDAuNik7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogTGFuZ3VhZ2Ugc3dpdGNoZXJcbiAqL1xuXG4ubGFuZ3VhZ2Vfc3dpdGNoZXIge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIC5yaWdodCA+ICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBmbG9hdDogcmlnaHQ7XG5cbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07IC8vIDEzcHhcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgcGFkZGluZzogNTMuNXB4IDA7IC8vICgxMjAgLSAxMykgLyAyIC8vLyAxMjAgPSBoZWFkZXItaGVpZ2h0XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IC8vIHBhZGRpbmcgcmlnaHQgb2YgbWVudSBsaW5rID0gMjAgKyAxNSA9IDM1XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICB9XG5cbiAgLmxhbmd1YWdlX3N3aXRjaGVyX19hY3RpdmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgQGluY2x1ZGUgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQpO1xuICAgIH1cbiAgfVxuXG4gIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggNXB4IHJnYmEoJGNvbG9yX19ibGFjaywgMC4wNSk7XG4gICAgLmxhbmd1YWdlX3N3aXRjaGVyX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkY29sb3JfX2JsYWNrLCAwLjA1KTtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMS41ZW0gMC40ZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLW91dCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX19ibGFjaywgMC4wNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLmxhbmdfc3dpdGNoZXJfb3BlbiAubGFuZ3VhZ2Vfc3dpdGNoZXJfX2FjdGl2ZTphZnRlciB7XG4gIEBpbmNsdWRlIHJvdGF0ZSgyMjVkZWcpO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4ubGFuZ19zd2l0Y2hlcl9vcGVuIC5sYW5ndWFnZV9zd2l0Y2hlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmJhY2tUb1RvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYm90dG9tOiA1ZW07XG4gICAgcmlnaHQ6IC01MHB4O1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyggMHB4IDBweCA1cHggJGNvbG9yX19uZXV0cmFsLS1saWdodCApO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4ucHJlX2Zvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIG1hcmdpbi1ib3R0b206IC0yLjVlbTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC8vIFByZSBmb290ZXIgbG9jYXRpb24gTkVXXG4gICAgLnByZWZvb3Rlci0tbG9jYXRpb24ge1xuXG4gICAgICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjsgLy8gR1NBUFxuXG4gICAgICAgICZfX21hcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gKDU4JSArIDgwcHgpICApKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oZnVsbCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbygxMDBweCwgNTBweCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFByZSBmb290ZXIgbG9jYXRpb24gT0xEXG5cbiAgICAuc2xpZGVyLWxvY2F0aW9uX19zbGlkZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5mb290ZXJfX2xvY2F0aW9uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ODc1ZW07IC8vIDI3cHhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5zbGlkZXItbG9jYXRpb25fX2RldGFpbHMge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuc2xpZGVyLWxvY2F0aW9uX19pbmZvX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAuc2xpZGVyLWxvY2F0aW9uX19pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggMCwgLTUwJSApO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmUgZm9vdGVyIGRvdWJsZSBsaW5rIC0+IHVpLnNjc3Ncbn1cblxuLnByZV9mb290ZXIgKyAuZm9vdGVyIC5jZW50ZXIge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTA1KTtcbn1cblxuLmZvb3RlciB7XG4gICAgQGluY2x1ZGUgbm9vbWlhKGRhcmspO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggJyN7JGltZ31sb2dvX2VpZmZhZ2Utd2hpdGUuc3ZnJyApO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMDElO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzFweCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAuZm9vdGVyX19jb250ZW50IC5uZXR3b3JrcyB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19iYWNrZ3JvdW5kIHtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2Zvb3RlcjtcblxuICAgIH1cblxuICAgIC5jZW50ZXIge1xuICAgICAgICBjbGVhciA6IGJvdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwKTtcbiAgICB9XG59XG5cbi8qKlxuICogQ29weXJpZ2h0XG4gKi9cblxuLmNvcHlyaWdodCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgZmxvYXQgOiBsZWZ0O1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdCA6IGxlZnQ7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0IDogcmVtKDMwKTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvb3Rlci1uYXZcbiAqL1xuXG4uZm9vdGVyLW5hdiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cblxuICAgIGZsb2F0IDogbGVmdDtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luIDogMDtcbiAgICAgICAgcGFkZGluZyA6IDA7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQgOiBsZWZ0O1xuXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiByZW0oMTApO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodCA6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGUgOiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb290ZXItbGlua3NcbiAqL1xuLmZvb3Rlci1saW5rcyB7XG5cbiAgICBjbGVhcjogYm90aDtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbiA6IDA7XG4gICAgICAgIHBhZGRpbmcgOiAwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0IDogbGVmdDtcblxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogcmVtKDEwKTtcblxuICAgICAgICAgICAgbGlzdC1zdHlsZSA6IG5vbmU7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9fYm90dG9tX19jZW50ZXIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyoqXG4gKiBOZXR3b3Jrc1xuICovXG5cbi5uZXR3b3JrcyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgZmxvYXQgOiByaWdodDtcblxuICAgIG1hcmdpbiA6IDA7XG4gICAgcGFkZGluZyA6IDA7XG5cbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKCAwLjUgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDUwJSApO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggb3BhY2l0eSAwLjJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKCAxICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tZmFjZWJvb2sge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19mYWNlYm9vaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmljb24tbGlua2VkaW4ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19saW5rZWRpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmljb24tdHdpdHRlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3R3aXR0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pY29uLWdwbHVzIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ29vZ2xlcGx1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmljb24taW5zdGFncmFtIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9faW5zdGFncmFtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaWNvbi15b3V0dWJlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9feW91dHViZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBsaSB7XG4gICAgICAgIGZsb2F0IDogbGVmdDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA6IHJlbSgxMCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0LXN0eWxlIDogbm9uZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWFyY2hfYmFyIHtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICBcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX2JnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCwgJl9fYnV0dG9uLCAmX19jbG9zZSB7XG4gICAgICAgIC8vIFJFU0VUXG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UoKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19pbnB1dF9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSA2MHB4ICk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkZWFzZUluT3V0Q3ViaWM7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbiggJGNvbG9yX19wcmltYXJ5LCAxMCUgKTtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIHRvcDogMWVtO1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5zZWFyY2hfYmFyX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgLnNlYXJjaF9iYXJfX2NvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5zZWFyY2hfYmFyX19pbnB1dF9fY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuICAgIC5zZWFyY2hfYmFyX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cbiAgICAuc2VhcmNoX2Jhcl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgIC5zZWFyY2hfYmFyX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgfVxufSIsIi5wYWdlX19ob21lIHtcbiAgLmhlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuc2xpZGVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICBAZXh0ZW5kIC5oeXBoZW5hdGUtbW9iaWxlO1xuICAgIH1cblxuICAgIC5zbGlkZV9fY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIEBleHRlbmQgLmh5cGhlbmF0ZS1tb2JpbGU7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAuaGVhZGluZ19fc2xpZGVfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICAgICAgLm1haW5fbGluayArIC5tYWluX2xpbmsge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXZpZGVvIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2xpZGUge1xuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J0biB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoMTYwMHB4KTtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtKCRwYWRkaW5nKTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgfVxuXG4gICAgICAucGxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNlbnRlciB7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhvbWVfa2Yge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAmID4gKiB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19taWRkbGUge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX193b3JrZXJzLFxuICAgICZfX3R1cm5vdmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAgKiBBY3Rpdml0aWVzXG4gICAgKi9cbiAgLmhvbWVfX2FjdGl2aXRpZXMge1xuICAgIHBhZGRpbmctYmxvY2s6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fZ3JheS0tbGlnaHQ7XG5cbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkwY2g7XG4gICAgfVxuICB9XG5cbiAgLmhvbWVfX3JlYWxpc2F0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG5cbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkwY2g7XG4gICAgfVxuXG4gICAgLnJlYWxpc2F0aW9uc19fdGV4dCB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAgICogcmVhbGlzYXRpb25zXG4gICAgICovXG4gIC5zbGlkZXJfbXVsdGkge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAucmVhbGlzYXRpb25zIHtcbiAgICAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhvbWVfX292ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIG1hcmdpbi10b3A6IDE2MHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkwY2g7XG4gICAgfVxuXG4gICAgLm92ZXJfX3BsYXllciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIC5vdmVyX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICAgKiBKb2luIFVzXG4gICAgICovXG4gIC5ob21lX19qb2luX3VzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgIC5oZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAmX19wYXJ0cyB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8vIEdTQVBcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgICB9XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19wYXJ0IHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IC8vIEJvbGRcbiAgICAgIH1cblxuICAgICAgLnd5c2l3eWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl9fZ3JheS0tbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAgICogTkVXU1xuICAgICAqL1xuICAuaG9tZV9fbmV3cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmF5LS1saWdodDtcblxuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8vIEdTQVBcblxuICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IC8vIE9mZnNldFxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbV9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmxpbmtfX292ZXJsYXkge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmstLWJhc2ljOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbV9faW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDQ0MHB4LCAyOTBweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICAmX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDM1cHg7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IC8vIE1lZGl1bVxuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkbWFpbkVhc2U7XG4gICAgICB9XG4gICAgICAud3lzaXd5ZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGluay0tYmFzaWMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbV9fY2F0ZWdvcmllcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgJl9faXRlbV9fY2F0ZWdvcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlX19hYm91dCB7XG4gIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmFib3V0X19zZWN0aW9uIHtcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3N1YmhlYWRpbmc7XG5cbiAgICAgIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc3ViaGVhZGluZzsgLy8gbWFuYWdlbWVudFxuICAgICAgfVxuXG4gICAgICAuZGF0ZV9fYnV0dG9uLFxuICAgICAgLnNsaWRlcl9fYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3N1YmhlYWRpbmc7XG4gICAgICB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7IC8vIG1hbmFnZW1lbnRcbiAgICAgIH1cblxuICAgICAgLmRhdGVfX2J1dHRvbixcbiAgICAgIC5zbGlkZXJfX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWJvdXRfX3dobyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAubGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH0gLy8gPT4gdWkuc2NzcyA6IC5ibG9ja19fdGV4dHNsaWRlclxuXG4gIC5hYm91dF9fZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmF5LS1saWdodDtcblxuICAgIHBhZGRpbmctdG9wOiAjeyR2X3NwYWNpbmd9cHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7JHZfc3BhY2luZ31weDtcblxuICAgIC53eXNpd3lnIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAvLyBOZXcgY2hhbmdlIDIgaW1hZ2VzIFNUQVJUXG4gICAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oODAwcHgsIDYwMHB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogY2FsYygoMTAwJSArIDEwMHB4KSAvIDIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDgwMHB4LCA2MDBweCk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3R5bGUgYmFzZWQgb24gY2VudGVyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqIDEuODc1ZW0pKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDJlbSkpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoKDEwMCUgKyAxMDBweCkgLyAyKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgICYtMSxcbiAgICAgICYtMiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSArIDE1cHgpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICYtMSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi0yIHtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgfVxuICAgICAgLy8gTmV3IGNoYW5nZSAyIGltYWdlcyBFTkRcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDYwMHB4LCA0MDBweCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGUgYmFzZWQgb24gY2VudGVyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1ZW07IC8vIDMwcHhcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NWVtOyAvLyAzMHB4XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAuYWJvdXRfX2Fzc2V0cyB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nfXB4O1xuXG4gICAgLmhncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5saW5rcyB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuYWJvdXRfX2RuYSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUxcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTAwcHgpIC8gMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1MHB4KSAvIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgLnd5c2l3eWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNzAwcHgsIDUwMHB4KTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUxcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hYm91dF9fYWxidW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyR2X3NwYWNpbmd9cHg7XG5cbiAgICAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBtYXJnaW46IC0zMHB4IC0xMHB4IC0xMHB4O1xuXG4gICAgICAuX2RmX2Jvb2stY292ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuX2RmX3RodW1iIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hYm91dF9fbWFuYWdlbWVudCB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgICZfX2xpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgYW5kIChtaW4td2lkdGg6IDU1MXB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgLy8gc3BhY2luZyAzMCB3aXRoIGFjdGlvblxuICAgIH1cblxuICAgICZfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX2l0ZW1fX25hbWUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2l0ZW1fX3JvbGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgfVxuXG4gICAgJl9faXRlbV9fYWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAkbWFpbkVhc2U7XG5cbiAgICAgICAgJi5pY29uLWxpbmtlZGluIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2xpbmtlZGluO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yX19saW5rZWRpbiwgMTUlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pY29uLWVtYWlsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3JfX25ldXRyYWwsIDE1JSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFib3V0X19yZXNwb25zaWJpbGl0eSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cblxuICAuYWJvdXRfX3N0b3J5IHtcbiAgICAuYWJvdXRfX3N0b3J5X19jb250ZW50IHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFib3V0X19zdG9yeV9fdGV4dHMge1xuICAgICAgcGFkZGluZy10b3A6ICN7JHZfc3BhY2luZ19zbWFsbH1weDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAjeyR2X3NwYWNpbmdfc21hbGx9cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnNsaWRlcyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgfVxuXG4gICAgICAuc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFib3V0X19zdG9yeV9fZGF0ZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG5cbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMHB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2xpZGVyX19jb250YWluZXIge1xuICAgICAgICAvLyBmdWxsLWhlaWdodDogNDQwcHg7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTlweCkge1xuICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5zbGlkZXJfX2Fycm93IHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kID4gLmFib3V0X19zZWN0aW9uXG4gICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuc2xpZGVzIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICAuc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTlweCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjYuNjY3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIC5kYXRlX190ZXh0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGVfX3RleHQge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAuZGF0ZV9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRhdGVfX2J1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRhdGVfX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZGF0ZV9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGVfX2J1dHRvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZCA+IC5hYm91dF9fc2VjdGlvblxuICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIDAuMnMgJG1haW5FYXNlO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAwLjJzICRtYWluRWFzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDEwcHg7IC8vIC5jdXJyZW50XG4gICAgICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IC8vIG5vdCAuY3VycmVudFxuICAgICAgICAgICAgb3BhY2l0eTogMDsgLy8gbm90IC5jdXJyZW50XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNHMgMC4ycyAkbWFpbkVhc2UsIG9wYWNpdHkgMC40cyAwLjJzICRtYWluRWFzZSxcbiAgICAgICAgICAgICAgYm9yZGVyIDAuNHMgMC4ycyAkbWFpbkVhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGVfX3RleHRfX2NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgJG1haW5FYXNlO1xuICAgICAgICAgIC5kYXRlX190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcblxuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAwLjJzICRtYWluRWFzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLy8vLyAvIVxcIFVzZSBmYWxsYmFjayBpbiBKUyB0byBGbGV4XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFib3V0X19jZXJ0aWZpY2F0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6ICN7JHZfc3BhY2luZ31weDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nfXB4O1xuXG4gICAgLnd5c2l3eWcge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG5cbiAgICAuYWJvdXRfX2NlcnRpZmljYXRpb25zX19saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gICAgfVxuXG4gICAgLmFib3V0X19jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3N1YnRpdGxlO1xuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgLmFib3V0X19jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2NvbGxpZ25vbi0tZ3JleTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlX19hY3Rpdml0aWVzIHtcbiAgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC53eXNpd3lnIHtcbiAgICBtYXgtd2lkdGg6IDkwY2g7XG4gIH1cblxuICAuYWN0aXZpdGllcyxcbiAgLnNlY3RvcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdGVsaWVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgIHBhZGRpbmctYmxvY2s6IDEwMHB4O1xuXG4gICAgLm1haW5fbGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2VfX3JlYWxpc2F0aW9ucyB7XG4gIC5yZWFsaXNhdGlvbnNfX2xpc3RpbmcgLmhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5yZWFsaXNhdGlvbnNfX2xpc3Rpbmcge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JHZfc3BhY2luZ31weDtcbiAgfVxuXG4gIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAvLyB0b3A6IC04cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA4cHggMTJweCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0KTtcblxuICAgICAgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfX3ByaW1hcnksIDAuNyk7XG4gICAgICAgIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGhlaWdodDogNzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0KTtcblxuICAgICAgdG9wOiAwO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcblxuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcblxuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQsXG4gICAgICAgIGhlaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICBvcGFjaXR5IDAuMnMgZWFzZS1vdXRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fc2hvcnRfZGVzYyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgfVxuICAgICAgLm1haW5fbGluayB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExvYWRlciAtPiB1aS5zY3NzXG5cbiAgLmZpbHRlcnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxNTA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi5sb2FkaW5nOmFmdGVyIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUxcHgpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgLy8gTmVnYXRpdmUgb2Zmc2V0XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgLy8gTmVnYXRpdmUgb2Zmc2V0XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXJfX2ZpZWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIC5kay1zZWxlY3RlZCB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgJG1haW5FYXNlO1xuICAgICAgfVxuXG4gICAgICAmIHNlbGVjdCxcbiAgICAgICYgYnV0dG9uLFxuICAgICAgJiAuZGstc2VsZWN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgICAgJiBzZWxlY3QsXG4gICAgICAmIGJ1dHRvbixcbiAgICAgICYgLmRrLXNlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbC0tbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJG1haW5FYXNlLCBib3JkZXItY29sb3IgMC4ycyAkbWFpbkVhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgIC5hY3RpdmUgJiB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9fbmV1dHJhbDtcblxuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWw7XG5cbiAgICAgICAgICAuZGstc2VsZWN0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fbmV1dHJhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUxcHgpIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgbWluLXdpZHRoOiAyODBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MXB4KSB7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAuZGstc2VsZWN0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAuZGstc2VsZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyX19maWVsZF9fbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2VfX2lubm92YXRpb24ge1xuICAudGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICZfX2xpc3Qge1xuICAgICAgLy8gSGlkZSBzY3JvbGxiYXIgKyBBZGQgb3ZlcmZsb3cgc2Nyb2xsXG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLy8gSGlkZSBTY3JvbGxiYXIgb24gSUVcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSBTY3JvbGxiYXIgb24gQ2hyb21lICYgU2FmYXJpXG4gICAgICB9XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8vIEhpZGUgU2Nyb2xsYmFyIG9uIEZpcmVmb3ggNjRcbiAgICB9XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5oZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuaW5ub3ZhdGlvbl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ibG9jazogMTAwcHg7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oMjA1MHB4LCAxNzUwcHgpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmF5LS1saWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlX19qb2luX3VzIHtcbiAgLmpvaW5fdXNfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIC50YWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgJl9fbGlzdF9faW5uZXIge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG4gIC5qb2luX3VzX19jb250ZW50IHtcbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIH1cblxuICAgIC53aWRlbGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIG1hcmdpbjogMTAwcHggYXV0bztcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmpvaW5fdXNfX29mZmVycyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBAZXh0ZW5kIC5saW5rLS1iYXNpYztcbiAgICB9XG4gIH1cblxuICAuam9pbl91c19fbGlua3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDI0cHg7XG4gICAgbWFyZ2luLWJsb2NrOiA0MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gIC5qb2luX3VzX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgfVxuXG4gICAgLmpvaW5fdXNfX2xpbmtfX2ltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjgwcHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5qb2luX3VzX19saW5rX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICBwYWRkaW5nOiAxOHB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAuam9pbl91c19fbGlua19fdXJsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZV9fd29ya19hdCB7XG4gIC5oZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICAudGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuXG4gIC53b3JrX2F0X193aHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBjYWxjKCgxMDAlICsgMTAwcHgpIC8gMik7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbyg2MDBweCwgNDAwcHgpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxlIGJhc2VkIG9uIGNlbnRlclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NWVtOyAvLyAzMHB4XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTsgLy8gMzBweFxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG5cbiAgLndvcmtfYXRfX2ludGVydmlld3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ3JheS0tbGlnaHQ7XG5cbiAgICBwYWRkaW5nLXRvcDogI3skdl9zcGFjaW5nfXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyR2X3NwYWNpbmd9cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAjeyR2X3NwYWNpbmdfc21hbGx9cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nX3NtYWxsfXB4O1xuICAgIH1cblxuICAgIC5oZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MGNoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3NTFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMwcHgpIC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDZweCwgNHB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyAkbWFpbkVhc2U7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtX190ZXh0IHtcbiAgICB9XG5cbiAgICAmX19pdGVtX19uYW1lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19pdGVtX19yb2xlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsLS1kYXJrO1xuICAgIH1cbiAgfVxuXG4gIC53b3JrX2F0X19hY2FkZW15IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC53b3JrX2F0X19kbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ3JheS0tbGlnaHQ7XG5cbiAgICBwYWRkaW5nLXRvcDogI3skdl9zcGFjaW5nfXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyR2X3NwYWNpbmd9cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAjeyR2X3NwYWNpbmdfc21hbGx9cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nX3NtYWxsfXB4O1xuICAgIH1cblxuICAgIC5oZ3JvdXBfX3RpdGxlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oMXB4LCAxcHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICAgJjpob3ZlciAubWFpbnRpdGxlIHtcbiAgICAgICAgbWluLWhlaWdodDogMHB4O1xuICAgICAgfVxuXG4gICAgICAubWFpbnRpdGxlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogbWluLWhlaWdodCAwLjJzICRtYWluRWFzZTtcbiAgICAgIH1cblxuICAgICAgLnd5c2l3eWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcblxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAud29ya19hdF9fZ2FsbGVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDsgLy8gb2Zmc2V0XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oNDMwcHgsIDQzMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDFweCkge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkgYW5kIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4jd2Fhcm9tIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xufVxuXG4jb3VyX3ZhbHVlcyB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9fZ3JheS0tbGlnaHQ7XG4gIHBhZGRpbmctYmxvY2s6IDEwMHB4O1xufVxuIiwiLnBhZ2VfX25ld3Mge1xuXG4gICAgLm5ld3NfX2xpc3RpbmcgLmhncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgLm5ld3NfX2xpc3Rpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAjeyR2X3NwYWNpbmd9cHg7XG4gICAgfVxuXG4gICAgLy8gTG9hZGVyIC0+IHVpLnNjc3NcblxuICAgIC5uZXdzX19maWx0ZXJzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5maWx0ZXJfX2J1dHRvbnNfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAub3ZlcmZsb3dfX2dyYWRpYW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWhvcml6b250YWwoIHJnYmEoICRjb2xvcl9fYmxhY2ssIDAuMiApLCByZ2JhKCAkY29sb3JfX2JsYWNrLCAwICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWhvcml6b250YWwoIHJnYmEoICRjb2xvcl9fYmxhY2ssIDAgKSwgcmdiYSggJGNvbG9yX19ibGFjaywgMC4yICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idG5fX292ZXJmbG93IHtcbiAgICAgICAgICAgIC8vIHJlc2V0XG4gICAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJGNvbG9yX193aGl0ZSwgMC44ICk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idG5fX292ZXJmbG93LS1wcmV2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB9XG4gICAgICAgIC5idG5fX292ZXJmbG93LS1uZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoIDUwJSwgLTUwJSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlcl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX19uZXV0cmFsLS1saWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAkbWFpbkVhc2UsIGJvcmRlci1jb2xvciAwLjJzICRtYWluRWFzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX19uZXV0cmFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY29udGFjdF9fbGlua3Mge1xuXG5cdC5oZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDFweCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtMzBweDtcblx0XHR9XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHtcblx0XHRcdHdpZHRoOiBjYWxjKCAoMTAwJSAtIDYwcHgpIC8gMyApO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG5cdFx0XHR3aWR0aDogY2FsYyggKDEwMCUgLSAzMHB4KSAvIDIgKTtcblx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHQmOm50aC1jaGlsZCggMm4gKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKCAxcHgsIDFweCApO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcblx0XHRcdEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbyggMnB4LCAxcHggKTtcblx0XHR9XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cdFx0fVxuXHR9XG59XG4iLCIucGFnZV9fZGVmYXVsdCB7XG4gICAgJiA+IC5jZW50ZXIge1xuICAgICAgICBAZXh0ZW5kIC5jZW50ZXItLXNtYWxsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbn0iLCIucGFnZV9fc2luZ2xlX2FjdGl2aXRpZXMge1xuICAvLyAtLS0tIGludHJvXG4gIC5zX2FjdGl2aXRpZXNfX2ludHJvIHtcbiAgICAud3lzaXd5ZyB7XG4gICAgICBtYXgtd2lkdGg6IDkzMHB4O1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgLy8gLnNfYWN0aXZpdGllc19faW50cm8ge30gPT4gdWkuc2NzcyA6IC5ibG9ja19fdGV4dHNsaWRlclxuXG4gIC5zaW5nbGVfX2FjdGl2aXRpZXNfX2ltZyB7XG4gICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDEzcHgsIDEwcHgpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLnNpbmdsZV9fYWN0aXZpdGllc19fcmVhbGlzYXRpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogI3skdl9zcGFjaW5nX3NtYWxsfXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyR2X3NwYWNpbmdfc21hbGx9cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zdWJoZWFkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICN7JHZfc3BhY2luZ31weDtcblxuICAgIC5oZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlX19hY3Rpdml0aWVzX19yZWZlcmVuY2VzX19saXN0IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLVxuICAudGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gIH1cbiAgLmhncm91cCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAvLyB0b3A6IC04cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA4cHggMTJweCAkY29sb3JfX25ldXRyYWwtLWxpZ2h0KTtcblxuICAgICAgLmxpc3RpbmctcmVhbGlzYXRpb25zX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfX3ByaW1hcnksIDAuNyk7XG4gICAgICAgIC5saXN0aW5nLXJlYWxpc2F0aW9uc19faXRlbV9fc2hvcnRfZGVzYyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGhlaWdodDogNzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0KTtcblxuICAgICAgdG9wOiAwO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcblxuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcblxuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc3VidGl0bGU7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQsXG4gICAgICAgIGhlaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICBvcGFjaXR5IDAuMnMgZWFzZS1vdXRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fc2hvcnRfZGVzYyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgfVxuICAgICAgLm1haW5fbGluayB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGNvbnRlbnRcbiAgLmFjdGl2aXRpZXNfY29udGVudF9ibG9jayB7XG4gICAgcGFkZGluZy1ibG9jazogMTAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19ncmF5LS1saWdodDtcbiAgICB9XG5cbiAgICAubWFpbl9saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC5ibG9ja19pbWFnZXRleHR7XG4gICAgICBnYXA6IDEwMHB4O1xuICAgIH1cbiAgICAuYmxvY2tfaW1hZ2V0ZXh0X190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyAvLyBQYXNzZSBkZXZhbnQgbGUgOjphZnRlciBkdSBzbGlkZXJcbiAgICB9XG5cbiAgICAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgXG4gICAgICAvLyBQc2V1ZG8tw6lsw6ltZW50IHBvdXIgbGVzIHNsaWRlcnMgcXVpIHMnw6l0ZW5kIHZlcnMgbGEgZ2F1Y2hlXG4gICAgICAmLmJsb2NrX2ltYWdldGV4dF9faW1hZ2UtLXNsaWRlci5ibG9ja19fdGV4dHNsaWRlcl9fc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlOyAvLyBDb21tZW5jZSDDoCBsYSBnYXVjaGUgZGUgbCfDqWzDqW1lbnRcbiAgICAgICAgICBsZWZ0OiAtMTAwdnc7IC8vIFMnw6l0ZW5kIHZlcnMgbGEgZ2F1Y2hlIHN1ciB0b3V0ZSBsYSBsYXJnZXVyIGRlIGwnw6ljcmFuXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmF5LS1saWdodDsgLy8gVXRpbGlzZXogbGEgdmFyaWFibGUgZGUgY291bGV1ciBhcHByb3ByacOpZVxuICAgICAgICAgIHotaW5kZXg6IDE7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcblxuICAgIH1cbiAgICBcbiAgICAvLyBSw6hnbGUgc3DDqWNpZmlxdWUgcG91ciBsJ2FmdGVyIGR1IHNsaWRlciBlbiByZXZlcnNlIChwbHVzIGhhdXRlIHNww6ljaWZpY2l0w6kpXG4gICAgLnJldmVyc2UgLmJsb2NrX2ltYWdldGV4dF9faW1hZ2UuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZS0tc2xpZGVyLmJsb2NrX190ZXh0c2xpZGVyX19zbGlkZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtMTAwdncgIWltcG9ydGFudDsgLy8gUyfDqXRlbmQgdmVycyBsYSBkcm9pdGVcbiAgICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgLy8gQ29tbWVuY2Ugw6AgbGEgZHJvaXRlIGRlIGwnw6lsw6ltZW50XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50OyAvLyBGb25kIGJsYW5jIHBvdXIgbGUgY8O0dMOpIGRyb2l0XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM1MHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAuYmxvY2tfaW1hZ2V0ZXh0X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5yZXZlcnNlIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzUxcHgpIHtcbiAgICAgIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5yZXZlcnNlIC5ibG9ja19pbWFnZXRleHRfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS1cbiAgLnNpbmdsZV9fYWN0aXZpdGllc19fb3RoZXJfYWN0aXZpdGllcyB7XG4gICAgbWFyZ2luLWJsb2NrOiAxMDBweCAxMzBweDtcbiAgICAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZV9fc2luZ2xlX3JlYWxpc2F0aW9ucyB7XG4gIC5yZWFsaXNhdGlvbnNfX2Fib3V0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206ICN7JHZfc3BhY2luZ19zbWFsbH1weDtcblxuICAgIC5oZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5ibG9ja19fa2V5ZmlndXJlc19fbGlzdGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNTBweDsgLy8gbmVnLiBvZmZzZXRcbiAgICB9XG4gIH1cblxuICAucmVhbGlzYXRpb25zX19nYWxsZXJ5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6ICN7JHZfc3BhY2luZ31weDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nX3NtYWxsfXB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmF5LS1saWdodDtcblxuICAgIC5oZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cblxuICAucmVhbGlzYXRpb25zX19lbGVjdHJpY19zZXR1cCB7XG4gICAgcGFkZGluZy10b3A6ICN7JHZfc3BhY2luZ19zbWFsbH1weDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skdl9zcGFjaW5nX3NtYWxsfXB4O1xuXG4gICAgLmhncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgICZfX2xpc3Rpbmcge1xuICAgICAgLy8gLnd5c2l3eWdcbiAgICAgICYub25lX2NvbCB7XG4gICAgICAgIEBleHRlbmQgLmNlbnRlci0tc21hbGw7XG4gICAgICB9XG5cbiAgICAgICYudHdvX2NvbCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMXB4KSB7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDQwcHg7XG5cbiAgICAgICAgICAmLFxuICAgICAgICAgICYgcCB7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcblxuICAgICAgICAgICAgb3JwaGFuczogMjtcbiAgICAgICAgICAgIHdpZG93czogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2hhbmdlIHN0eWxlIG9mIHd5c2l3eWcgaGVyZTogLS0gU1RBUlRcbiAgICAgIHVsIHtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQ2hhbmdlIHN0eWxlIG9mIHd5c2l3eWcgaGVyZTogLS0gRU5EXG4gICAgfVxuICB9XG5cbiAgLnJlYWxpc2F0aW9uc19fcmVsYXRlZF9hY3Rpdml0aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiAjeyR2X3NwYWNpbmdfc21hbGx9cHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7JHZfc3BhY2luZ19zbWFsbCAtIDh9cHg7IC8vIDUwIC0gOCAobWFyZ2luIGJvdHRvbSBvZiBzbGlkZXIpXG5cbiAgICAuaGdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZV9fc2luZ2xlX25ld3Mge1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5uZXdzX19sZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICZfX2RhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWRhcms7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy9cblxuICAgICAgICAmX19jZW50ZXIge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAuaGdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gODBweCkgLyAyICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gODBweCkgLyAyICk7XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAzNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oIDUwMHB4LCA0MDBweCApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL1xuXG4gICAgICAgICZfX3NoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgIC8vIC0+IHVpLnNjc3MgOiAuc2hhcmVfX2xpbmtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZXdzX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuICAgIH1cblxufSIsIi5wYWdlX19zaW5nbGVfam9iX29mZmVycyB7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG59XG5cbi5qb2Jfb2ZmZXJzX19jb250ZW50IHtcblx0cGFkZGluZy10b3A6IDgwcHg7XG5cdHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2dyYXktLWxpZ2h0O1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvLyBSZWNhcHRjaGEgaXNzdWVcblxuXHQmX19pbm5lciB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1MXB4KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHR9XG5cblx0LmpvYl9vZmZlcnNfX3RleHQge1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQuam9iX29mZmVyc19fZm9ybSB7XG5cdFx0cGFkZGluZzogNDBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX25ldXRyYWwtLWxpZ2h0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1MXB4KSB7XG5cdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogNjBweDtcblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI1MHB4KSB7XG5cdFx0XHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcblx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0fVxuXHR9XG5cblx0Lm5mLWZpZWxkLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiLnBhZ2VfX3NpdGVtYXAge1xuXG4gICAgLmNlbnRlciB7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgfVxuXG4gICAgLnNpdGVtYXBfX21lbnUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NTBweCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZm9vdGVyX25hdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mb290ZXJfbGlua3Mge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWw6bm90KC5zdWItbWVudSkgPiBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Yi1tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIC5tZW51LWl0ZW0gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0X2dyb3VwIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLmVycm9yNDA0IHtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgJGNvbG9yX193aGl0ZSAwJSwgI2VmZWZlZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRjb2xvcl9fd2hpdGUgMCUsI2VmZWZlZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICRjb2xvcl9fd2hpdGUgMCUsI2VmZWZlZiAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yX193aGl0ZScsIGVuZENvbG9yc3RyPScjZWZlZmVmJyxHcmFkaWVudFR5cGU9MSApO1xuICAgIFxuICAgIC5jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvb3RlciwgLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmVycm9yNDA0X19ncm91cCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLm1haW5UaXRsZV9fZmlyc3Qge1xuICAgICAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ibGFjaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xZW07XG4gICAgICAgIGxlZnQ6IDEuNmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cblxuICAgIC5tYWluVGl0bGVfX3NlY29uZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGV4dF9fZmFtaWx5LXNhbnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3I0MDRfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBAZXh0ZW5kIC5tYWluX2xpbms7XG4gICAgfVxufSJdfQ== */
